女程式設計師肺腑之言:請停止美化不必要的複雜情況 - Sarah Drasner ‏

banq發表於2019-07-09

我聽過人們無數次吹噓其他人要了解他們的工作需要多長多長時間,依我看情況正好相反。你應該吹噓人們能夠多快地理解你所寫的內容。

當我看到那些能夠以讓別人可以簡單理解的方式創造表達複雜事物的人時,我會對他留下非常深刻的印象。這需要的技能比人們想象的要多得多。

眾說紛紜:
任何傻瓜都可以編寫計算機可以理解的程式碼。優秀的程式設計師編寫人類可以理解的程式碼。Martin Fowler,2008。

賈伯斯:“簡單可能比複雜更難:你必須努力工作才能讓你的想法變得簡潔。但它最終是值得的,因為一旦你到達那裡,你就可以移山。“ (banq注:愚公不能移山,將複雜性簡單化才能移山,這才是真正的毫毛重於泰山!)

複雜的程式碼永遠不值得驕傲。它不會讓你聰明或比別人更好。編寫清晰易讀的程式碼只是優秀程式設計師可以做的事情。

以“硬”的方式做事並不能證明你更聰明......

我過去曾經這樣說過這樣的事情。大多數情況下,它來自生存偏見。

“我寫這封信的時間比平時長,因為我沒時間縮短它。” - 帕斯卡爾

簡單的程式碼很難做到。它需要清晰的思考和對問題的瞭解。

你如何區分簡單的極簡主義(沒有隱藏的複雜性)和簡單的抽象(易於理解但很難重新創造)?在很多情況下(但不是全部),我發現自己更喜歡極簡主義而非重抽象。

少量聰明的程式碼也很難推理,所以我也不一定意味著極簡主義。

簡單心理模態的捷徑可能是極簡主義,但這意味著剝離寶貴的靈活性/功能。我只喜歡一致的程式碼(規則沒有例外),可預測和熟悉。所以感覺就像一個模式。

如果你不能用簡單的術語來解釋某些事情, 實際上表明你自己都不明白。

我的程式碼太複雜了,連電腦都不懂

簡單性要困難得多。因此,事情往往會匯聚成複雜的解決方案

我正在處理一個複雜的遺留系統。我總是對專案中的新人說:它很complex複雜(有很多元件,互動的),但不complicated複雜(單個元件很容易理解)。

 

相關文章