摘要:前篇文章一發(fā),立馬有程序猿說解氣呀,我也待在這樣的一個公司,所以我怎么能做出好的東西呢?,F(xiàn)在不噴產(chǎn)品不噴測試不噴領(lǐng)導(dǎo),僅僅從程序猿的角度說說,你都有做過哪些湊合的事,然后就湊出了一鍋粥。這種無組織無紀(jì)律的行為是壓垮駱駝的那根稻草。
前篇文章一發(fā),立馬有程序猿說:解氣呀,我也待在這樣的一個公司,所以我怎么能做出好的東西呢。
呵呵,那你誤會我的意思了,我可沒說哪種公司不好,我覺得經(jīng)歷過的都好。當(dāng)然咱吐槽還是要吐的,噴完了領(lǐng)導(dǎo)們,這篇文章來噴自己好了?,F(xiàn)在不噴產(chǎn)品不噴測試不噴“領(lǐng)導(dǎo)”,僅僅從程序猿的角度說說,你都有做過哪些“湊合”的事,然后就“湊”出了一鍋粥。
1. 單元測試
首當(dāng)其一的我覺得就是這個,你可能會想哎現(xiàn)在就這么兩三條槍,UT那是大團(tuán)隊的事,我這有啥事吼一嗓子都解決了??墒且坏┠愎镜拈_發(fā)“戰(zhàn)線”有點長,比如APP/WEB/第三方接口都做的情況下,測試變得困難起來,API OK了APP沒到位,或是上了線了才發(fā)現(xiàn)出了問題。
一旦這個流轉(zhuǎn)的線路拉長、層級增多,就有人開始“巧合性編程”,自測就基本靠猜了。尤其是那些隱藏得很深的操作,在APP和WEB上點一次都很麻煩,就更別說反復(fù)的測試了。
更重要的一個缺點是組織結(jié)構(gòu)是渙散的,今天想起來加一個,明天誰喊嗓子再加一個。這種"無組織無紀(jì)律”的行為是壓垮駱駝的那根稻草。
2. 組件模塊
接上面,還是體現(xiàn)在系統(tǒng)思考上,如果所有的思維都在功能點上,沒人爬上山頂向下看看這房子是不是要倒了,所有的力量都是在蓋樓、蓋樓,最終的結(jié)果可能就是樓歪歪了。
事實上這個“蓋高樓”的觀點并沒錯,對企業(yè)發(fā)展來說,“時間就是生命”。但忽略了模塊思維其實是在浪費更多的時間。組件的價值在于可重復(fù)驗證的程序和可定勢識別的操作,無論對開發(fā)的工作量化還是對用戶的使用體驗,都有較高的實施優(yōu)勢。
實際中也有很多優(yōu)秀的方案可以直接拿來用,對于啟動者來說,更該做的是找到匹配的方案,做好膠水層把多個體系、模塊、組件更順暢的組織起來。
3. 持續(xù)重構(gòu)
軟件工程相對現(xiàn)實中機(jī)械、地產(chǎn)的工程,我覺得一個很大的優(yōu)勢就是可以拿到實際環(huán)境里檢驗的同時隨時調(diào)整結(jié)構(gòu)。如果可能,讓不同人擁有不同的工具包,在保障整個系統(tǒng)的穩(wěn)定性和每個人特長發(fā)揮的同時,持續(xù)的將其中優(yōu)秀的工具、范例集成到公共庫。
4. 基礎(chǔ)樣例
想要新來的人入門快,最好的辦法就是能用最簡單的方式告訴他該怎么做,拷貝一個隨便改改就能工作起來的范例是個好主意,不至于來了新人不但沒給團(tuán)隊帶來力量提升還把事情搞得更糟。
太晚了(2015/3/7 0:02),眼睛睜不開了,先這樣吧。其實我想說的就是,你的代碼是你自己弄臟的,今天省了事了明天就攤上大事了,老老實實的寫UT,認(rèn)真的把枝干拾掇干凈吧。最后貼上我最愛的《K.I.S.S》與諸君共勉:
KEEP IT SIMPLE, STUPID!
編寫只做一件事情,并且要做好的程序;編寫可以在一起工作的程序,編寫處理文本流的程序,因為這是通用的接口。這就是UNIX哲學(xué)。所有的哲學(xué)真正的濃縮為一個鐵一樣的定律,高明的工程師的神圣的“KISS 原則”無處不在。大部分隱式的UNIX哲學(xué)不是這些前輩所說的,而是他們所做的和UNIX自身建立的例子。從整體上看,我們能夠抽象出下面這些觀點:
模塊原則:寫簡單的,通過干凈的接口可以被連接的部件。
清楚原則:清楚要比小聰明好。
合并原則:設(shè)計能被其它程序連接的程序。
分離原則:從機(jī)制分離從策略,從實現(xiàn)分離出接口。
簡單原則:設(shè)計要簡單;僅當(dāng)你需要的時候才增加復(fù)雜性。
節(jié)儉原則:只有當(dāng)被證實是清晰,其它什么也不做的時候,才寫大的程序。
透明原則:為使檢查和調(diào)試更容易而設(shè)計。
健壯原則:健壯性是透明和簡單的追隨者。
表現(xiàn)原則:把知識整理成資料,于是程序邏輯能變得易理解和精力充沛的。
意外原則:在接口設(shè)計中,總是做最小意外的事情。
沉默原則:一個程序令人吃驚什么也不說的時候,他應(yīng)該就是什么也不說。
補(bǔ)救原則:當(dāng)你必須失敗的時候,盡可能快的吵鬧地失敗。
經(jīng)濟(jì)原則:程序員的時間是寶貴的;優(yōu)先機(jī)器時間節(jié)約它。
產(chǎn)生原則:避免手工堆砌;當(dāng)你可能的時候,編寫可以寫程序的程序。
優(yōu)化原則:在雕琢之前先有原型;在你優(yōu)化它之前,先讓他可以運行。
差異原則:懷疑所有聲稱的“唯一真理”。
擴(kuò)展原則:為將來做設(shè)計,因為它可能比你認(rèn)為來的要快。
注:以上文字為了整潔我有極小的不妨害理解原標(biāo)準(zhǔn)翻譯的改動。
獻(xiàn)丑了,晚安!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/30212.html
摘要:網(wǎng)絡(luò)啟動開啟了一個共享的新時代,與實體經(jīng)濟(jì)的結(jié)合讓項目變得更加有意義,區(qū)塊鏈已經(jīng)走向了我們。直到年,互聯(lián)網(wǎng)和區(qū)塊鏈終于從概念上走到了一起,就是這場流行起來的共享之風(fēng)。風(fēng)險當(dāng)然,伴隨著區(qū)塊鏈項目的毫無疑問是高風(fēng)險如影隨形。 作者簡介:董天一 ,IPFS/Filecoin中國區(qū)技術(shù)布道人 ,《IPFS指南》作者。畢業(yè)于北京大學(xué)軟件與微電子學(xué)院曾擔(dān)任甲骨文亞洲研發(fā)中心(中國)數(shù)據(jù)庫開發(fā)工程師...
摘要:參考資料事件代理很久很久以來,總感覺事件發(fā)生與事件代理到之間沒什么鳥區(qū)別。要搞清楚什么是事件代理,就需要先搞清楚什么是代理。,怎么從字面來理解事件代理一詞的含義后文有講。于是,看了事件代理的資料。這一過程被稱為事件冒泡。 參考資料:js-事件代理 很久很久以來,總感覺事件發(fā)生與事件代理到之間沒什么鳥區(qū)別。 最近,又看了一下,感覺區(qū)別其實真不大!看怎么理解吧。 要搞清楚什么是事件代理,就...
摘要:前言在開發(fā)技術(shù)和應(yīng)用市場完全成熟的今天,有人希望深耕技術(shù)打造出自己的一片天地,也有人想廣泛學(xué)習(xí)在程序員市場中游刃有余。而這本書上千的引用論文,給我指明了一條系統(tǒng)學(xué)習(xí)理論的明路。 ...
閱讀 2168·2023-04-26 00:43
閱讀 2688·2021-11-22 15:22
閱讀 3822·2021-11-11 16:55
閱讀 972·2021-11-04 16:06
閱讀 1790·2019-08-30 14:12
閱讀 1004·2019-08-30 14:02
閱讀 3374·2019-08-29 17:05
閱讀 1421·2019-08-29 12:27