當(dāng)前位置:首頁 > 公眾號精選 > 架構(gòu)師社區(qū)
[導(dǎo)讀]作者:鄒溪源,長沙資深互聯(lián)網(wǎng)從業(yè)者,架構(gòu)師社區(qū)特邀嘉賓! 一 1) 有一天,我的朋友Y童鞋分享了他正在做的一個內(nèi)部開源項目,這個開源項目從外表上看,跟目前市場上那些代碼生成器本沒有特別大的區(qū)別,所以我興趣并不大。 在他給我介紹了一下具體需求之后,

甲方爸爸,大概你要的是代碼生成器吧?

作者:鄒溪源,長沙資深互聯(lián)網(wǎng)從業(yè)者,架構(gòu)師社區(qū)特邀嘉賓!

1)

有一天,我的朋友Y童鞋分享了他正在做的一個內(nèi)部開源項目,這個開源項目從外表上看,跟目前市場上那些代碼生成器本沒有特別大的區(qū)別,所以我興趣并不大。

在他給我介紹了一下具體需求之后,我才體會了他的意思,并提起了那么一丟丟興趣。。

畢竟,聽起來有點“鬼扯”,為啥?因為,他居然試圖依靠這個項目來生成”單元測試“。。。。

他:定義好數(shù)據(jù)庫表和結(jié)構(gòu),然后就生成邏輯方法和代碼、以及界面,還同時把“單元測試”代碼給生成了,免得程序員要花時間去思考代碼邏輯之余,還要想怎么寫出可測試代碼。

我:這樣生成的代碼還有靈魂么。。

他:有啊,編寫高可測試代碼,不就是我輩中人,這些有追求的碼農(nóng)應(yīng)該實現(xiàn)的目標么?

我:這種模式怎么越看越想埃里克埃文斯大佬說的“Smart UI”模式啊。。

他:你倒這么說,也有那么一點點像。

2)

我:當(dāng)然,能夠生成單元測試倒也可以。畢竟大部分單元測試看起來似乎是一模一樣的。無外乎就是“ Arrange\Act\Assert”,AAA操作猛如虎,測試代碼一把梭。

他:我這個東西,生成的代碼,除了看起來提高了單元測試覆蓋率之外,其實,并不能提高代碼的質(zhì)量。

我:是什么逼得你要花時間去開發(fā)這樣的代碼生成器呢?

他:還不是被這班菜雞開發(fā)者們產(chǎn)出的劣質(zhì)產(chǎn)品鬧騰的。我不是想著省測試的錢,又能提高產(chǎn)品的質(zhì)量么?就自然而然只能靠壓榨“程序員”來實現(xiàn)了。但是讓我來對這么多人的代碼進行審查,還是太難了。這不,用單元測試來操作,不就可以了?

3)

我:你們太難了。為啥這么趕???

他:這不是甲方爸爸要加需求,他說得倒是好:加需求也就幾行代碼,多簡單。但是我們這邊,就得忙翻天,太特么累了。

我:那能不能多招幾個測試?

他:端到端測試,只是看起來將缺陷扼殺在搖籃而已,實際上。。隱藏在冰山下的缺陷呢。??蛻艟褪切“资蟀?。再說,我們現(xiàn)在家業(yè)太小,測試有兩個了,再招就請不起了。。功能是不能少的,bug是不能多的,我只能想想單元測試這種辦法了。

我:好吧。。我們也一樣。。

1)

之前有個朋友老張介紹了一個故事,仿佛跟這個有點類似。他有幸參與了一個交通信息化的項目,這個項目的業(yè)主是國企單位,屬于“體制內(nèi)”的企業(yè)。

在過去一波有一波的信息化發(fā)展過程中,這些體制內(nèi)的企業(yè)仿佛成為了許多IT企業(yè)競相薅羊毛的對象。為啥,國企項目多、錢也不少,關(guān)鍵是國企對軟件質(zhì)量要求不高啊。

許多企業(yè)借助國企項目,他們依托所謂“快速上線”的神器,將中華民族艱苦奮斗的精神發(fā)揮到了極致,公司能夠在最短的時間內(nèi),將原本停留在腦海里的軟件,快速的轉(zhuǎn)化成為實現(xiàn),并部署到甲方爸爸的現(xiàn)場環(huán)境中。

至于軟件的質(zhì)量、軟件的工程化水平,對不起,不重要?用戶體驗?性能?功能可用性?重要么,不重要。先快速上線回款再說。于是,這些企業(yè)獲得了業(yè)績的騰飛,老板們賺得盆滿簸贏,好不自在。

而且老板們還會吹:我們公司最大的優(yōu)點,就是在逆境下生存的能力,能夠在最短的時間消化需求,做出最符合客戶需求的軟件。

好吧,仿佛這也是軟件工程的一種方向?快速開發(fā)。。。。

2)

然后,有那么幾年,市場突然間就“做爛“了。一方面,國家將投資方向重點放在了房地產(chǎn)領(lǐng)域,對信息化的投入也逐漸收緊了許多;另外一方面,企業(yè)過去匆忙上線了太多的軟件系統(tǒng),不同軟件系統(tǒng)之間的對接溝通困難,操作過程缺乏連貫性,使得基層員工開始抗拒這些”看似“能夠帶來效率提升,卻容易出現(xiàn)各種質(zhì)量問題導(dǎo)致自己過去幾天工作量返工的所謂”信息化“系統(tǒng);另外,大家也都很清楚,效率提升其實帶來的是”裁員“,首先被裁的…

總之,有那么一段時間,國企對信息化是“棄若敝屣”的。

1)

但,隨著“互聯(lián)網(wǎng)”和“共享出行”的興起,又讓這個概念重新熱炒了起來。

老張他們公司也有幸接到了一個這樣的項目,公司還是一家非常大的出租車公司,擁有二十多家子公司,員工超過2萬人。這個項目的目的是打通出租車和旅客的關(guān)系,借助于手機實現(xiàn)快速出行,同時打通企業(yè)內(nèi)部信息孤島,讓總公司領(lǐng)導(dǎo)能夠第一時間看到各種數(shù)據(jù)的流轉(zhuǎn)情況,為建立科學(xué)決策提供依據(jù)。

老張被選為這個項目的負責(zé)人。在項目啟動會上,他意氣風(fēng)發(fā),向業(yè)主和公司老板們保證,將帶領(lǐng)公司團隊與甲方團隊一起,以飽滿的姿態(tài)打響這場戰(zhàn)役,為業(yè)主的業(yè)績騰飛貢獻自己的一份力量。

然而,但項目啟動后,他才深刻的明白這究竟是一個怎樣的坑。

2)

首先是業(yè)主關(guān)系,由于業(yè)主是一家涉及大幾萬員工和二十幾家子公司的大型集團公司,需要梳理的業(yè)務(wù)表單非常復(fù)雜,業(yè)務(wù)流程和體系,遠比甲方爸爸預(yù)想的要復(fù)雜得多。

其次是開發(fā)周期短,不知從何時起,國企對于軟件系統(tǒng)的印象就是“簡單、容易、很快就能實現(xiàn)”,仿佛一個需求只要說出來,這般不要命的程序員們就能很快的實現(xiàn)功能。當(dāng)老張跟他們提到需求太多,根本做不完時,甲方爸爸甚至說:怎么可能有做不出來的軟件系統(tǒng),是不是你能力不行?

再次是外部系統(tǒng)多,由于不同的子公司往往采購了不同的系統(tǒng),要統(tǒng)一對接到一個系統(tǒng) 。

還有就是涉及的技術(shù)點多,需要在許多領(lǐng)域進行專門的技術(shù)攻關(guān),由于公司暫時缺乏相關(guān)資源,使得開發(fā)過程屢屢收到阻塞。

3)

經(jīng)過長達幾個月的需求調(diào)研,老張編寫了一份超過一千頁紙的需求規(guī)格說明書,并獲得了業(yè)主的批準,但項目正式開始時,他卻只獲得了短短半年的開發(fā)周期。此時,他手上能夠調(diào)動的開發(fā)者資源,才不過10余人。

為了干完這個項目,他和項目團隊的成員不得不犧牲周末和假期,辛苦堅持了半年,才把項目功能都開發(fā)完,但在項目實施環(huán)節(jié)時,由于子公司與總公司的意見不統(tǒng)一,根本用不起來。

最終,項目崩盤,公司倒閉,甲方將近一年的投入近乎白費。老張和項目團隊也白白辛苦了大半年,還得去勞動仲裁,找老板討薪。

回顧這段時光時,老張說了一段話:企業(yè)信息服務(wù)化的項目,看起來合同工價很高,其實都是坑啊。有的業(yè)主,根本不懂什么叫“合適的軟件”。

在互聯(lián)網(wǎng)如此發(fā)展的今天,這些業(yè)主,要的還是“快速開發(fā)”。但凡想到什么就往里面加,程序員不猝死太難了。往往今天提,明天就要,用了一次就不用了,我根本不知道這些軟件,干出來有什么意義。

仔細想想,許多傳統(tǒng)企業(yè)領(lǐng)導(dǎo)想轉(zhuǎn)型到互聯(lián)網(wǎng),不就是這樣么,恨不能一天就把項目干完,干完項目就“升官發(fā)財”,至于項目能不能用,誰知道呢。。

也許,他們要的并不是軟件,而是一種“代碼生成器”。嗯,輸入“甲方爸爸的一萬種需求”,輸出“一個功能齊全、包容萬物、自由變化的軟件”。。

作為有追求的碼農(nóng)們,我們能像Robert大叔在《代碼整潔之道-程序員的自我修養(yǎng)》一書中寫的方法:選擇“拒絕”么。額。。生存要緊。。偶爾吐吐槽,飯還是得恰啊。

長按訂閱更多精彩▼

甲方爸爸,大概你要的是代碼生成器吧?

如有收獲,點個在看,誠摯感謝甲方爸爸,大概你要的是代碼生成器吧?

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉