2018-07-02 軟件開發(fā)的核心原則

Don't Repeat Yourself

這是軟件開發(fā)的一個基礎(chǔ)原則,即不要做重復(fù)性勞動,也是現(xiàn)在所說的“極客文化”的一種。代碼重復(fù)、工作重復(fù)在軟件開發(fā)過程中都是不合理的存在,利用各種手段消除這些重復(fù)是軟件開發(fā)的一個核心工作準(zhǔn)則

如果軟件行業(yè)比作建筑行業(yè)的話,那么建筑行業(yè)里有工程師,建造師、監(jiān)理、設(shè)計師、泥瓦匠等等。而重復(fù)性工作就相當(dāng)于泥瓦匠!只是重復(fù)的在砌磚。

Keep it simple stupid

即KISS原則。在做軟件設(shè)計的工作中,很多時候都不要想得過于復(fù)雜,也不要過度設(shè)計和過早設(shè)計,用最簡單且最行之有效的方案也就避免了復(fù)雜方案帶來的各種額外成本。這樣既有利于后續(xù)的維護,也有利于進一步的擴展。

軟件開發(fā)行業(yè)基本都知道要避免過度設(shè)計,但是如何拿捏尺度是一個很大問題。經(jīng)驗少點的開發(fā)可能會出現(xiàn)設(shè)計過于簡單導(dǎo)致開發(fā)流程的問題或者設(shè)計過于復(fù)雜導(dǎo)致項目過大難度較高,所以著也是區(qū)分開發(fā)者能力的一項重要指標(biāo)。
附:https://www.zhihu.com/question/19993179知乎大佬們對過度設(shè)計的討論QAQ

You Ain't Gonna Need It

即 YAGNI原則。只需要將應(yīng)用程序必須的功能包含進來,而不要試圖添加任何其他你認(rèn)為可能需要的功能。因為在一個軟件中,往往80%的請求都花在20%的功能上

Done is better than perfect

在面對一個開發(fā)任務(wù)時,最佳的思路應(yīng)該是先把東西坐出來。再去優(yōu)化迭代。如果一開始就面面俱到,考慮到各種細(xì)節(jié),那么很容易鉆牛角尖而延誤項目進度

Choose the most suitable things

這是在做方案選擇,技術(shù)選型時的一個很重要的原則。在面對許多技術(shù)方案,開源實現(xiàn)的時候,務(wù)必做到不能盲目求新,要選擇最合適的而不是吹得天花亂墜的。

這三個原則感覺其實就是為了解決過度設(shè)計的問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,979評論 25 709
  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 32,289評論 2 89
  • 大北減肥減的很餓,太難受了,大北想著以后再也不肆無忌憚的吃了,也不肆無忌憚的熬夜了,不肆無忌憚的滿足欲望了,肆無忌...
    彩虹之約閱讀 239評論 0 1
  • 寶貝說明天回來了,好幾天不見還是有點想他了,還有五天就是媽媽的生日了,好快啊,不知道給她送什么禮物好,從我十八歲出...
    志梅閱讀 184評論 0 0
  • 加入組織較晚,一直在上課狀態(tài),踐行倦怠。重新加入組織后開始踐行of 計劃一件件落實,落下的課一個一個補補回來。是趕...
    寶蘭兒閱讀 191評論 1 2

友情鏈接更多精彩內(nèi)容