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



          1)

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

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

          畢竟,聽起來有點(diǎn)“鬼扯”,為啥?因?yàn)?,他居然試圖依靠這個(gè)項(xiàng)目來生成”單元測試“。。。。


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

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

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

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

          他:你倒這么說,也有那么一點(diǎn)點(diǎn)像。

          2)

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

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

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


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

          3)

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

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

          我:那能不能多招幾個(gè)測試?


          他:端到端測試,只是看起來將缺陷扼殺在搖籃而已,實(shí)際上。。隱藏在冰山下的缺陷呢。。客戶就是小白鼠啊。再說,我們現(xiàn)在家業(yè)太小,測試有兩個(gè)了,再招就請(qǐng)不起了。。功能是不能少的,bug是不能多的,我只能想想單元測試這種辦法了。

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



          1)

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

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


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


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

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

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

          2)

          然后,有那么幾年,市場突然間就“做爛“了。
          一方面,國家將投資方向重點(diǎn)放在了房地產(chǎn)領(lǐng)域,對(duì)信息化的投入也逐漸收緊了許多;

          另外一方面,企業(yè)過去匆忙上線了太多的軟件系統(tǒng),不同軟件系統(tǒng)之間的對(duì)接溝通困難,操作過程缺乏連貫性,使得基層員工開始抗拒這些”看似“能夠帶來效率提升,卻容易出現(xiàn)各種質(zhì)量問題導(dǎo)致自己過去幾天工作量返工的所謂”信息化“系統(tǒng);
          另外,大家也都很清楚,效率提升其實(shí)帶來的是”裁員“,首先被裁的...

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



          1)

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


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


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

          然而,但項(xiàng)目啟動(dòng)后,他才深刻的明白這究竟是一個(gè)怎樣的坑。

          2)

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


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

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

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

          2)


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


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

          最終,項(xiàng)目崩盤,公司倒閉,甲方將近一年的投入近乎白費(fèi)。老張和項(xiàng)目團(tuán)隊(duì)也白白辛苦了大半年,還得去勞動(dòng)仲裁,找老板討薪。

          回顧這段時(shí)光時(shí),老張說了一段話:

          “企業(yè)信息服務(wù)化的項(xiàng)目,看起來合同工價(jià)很高,其實(shí)都是坑啊。有的業(yè)主,根本不懂什么叫“合適的軟件”。


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

          千萬別跟業(yè)主提敏捷,他們會(huì)在你的每個(gè)迭代中塞根本干不完的工作量;也不要提擁抱變化,他們變起臉來,自己都怕?!?br>


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

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

          作為有追求的碼農(nóng)們,我們能像Robert大叔在《代碼整潔之道-程序員的自我修養(yǎng)》一書中寫的方法:選擇“拒絕”么。

          額。。生存要緊。。偶爾吐吐槽,飯還是得恰啊。

          友情鏈接
          ioDraw流程圖
          API參考文檔
          OK工具箱
          云服務(wù)器優(yōu)惠
          阿里云優(yōu)惠券
          騰訊云優(yōu)惠券
          京東云優(yōu)惠券
          站點(diǎn)信息
          問題反饋
          郵箱:[email protected]
          QQ群:637538335
          關(guān)注微信

                www97色色 | 无码国产伦精品一区二区三区视频 | 色老汉AV一区二区三区 | 大香蕉黄色 | 韩国女主播色诱大尺度 |