調查:程序員需要知道的97件事,你知道幾件?
有一次 Kevlin Henney 在檢查代碼中的疏漏,發現自己不知不覺地在嘀咕“該死的,這是每個程序員都需要知道的事情!”(當然了,一開始的感覺是非常強烈的),這就是 Kevlin Henney 發起“每個程序員都需要知道”的活動的靈感。“程序員需要知道的 97 件事”是由眾人群策群力并發布到 wiki 上,大家可以對其進行編輯,然后從中選取 97 個條目做出圖書出版。
這 97 條每條都是對作為軟件開發程序員的必修知識,就算你不是非常了解這 97 條里每條包含的具體知識,但只要看著這簡短的標題,相信也應該有是曾相識的感覺。
那么,究竟這 97 條里你都知道那些呢?
- 謹慎行動
- 函數式編程原則的應用
- 試問自己“用戶會怎么做?”(你不能算是用戶)
- 編碼標準的自動化
- 美在于簡單
- 重構
- 謹防共享
- 童子軍規則
- 在責備別人之前先檢查自己的代碼
- 謹慎選擇你的工具
- 領域語言里的代碼
- 代碼就是設計
- 代碼布局風格
- 代碼審查
- 編寫代碼的理由
- 對注釋的一個注釋
- 代碼說不清,注釋來補充
- 不斷學習
- 易用不是一種能力
- 早部署,常部署
- 區分業務異常和技術異常
- 有針對性地勤加練習
- 領域特定語言
- 不要怕搞砸
- 不要在你的測試代碼里裝可愛
- 不要忽略任何錯誤
- 不要只學習語言,還要了解它的文化內涵
- 不要把程序釘死在老地方
- 不要指望“魔法會在此發生”
- 不要重復你自己
- 別碰那些代碼!
- 封裝行為,而不僅僅是狀態
- 浮點數不是真正的數
- 開源助你實現雄心壯志
- API 設計的黃金法則
- 高手神話
- 加班加點,事倍功半
- 如何使用 bug 跟蹤器
- 代碼的去蕪存菁
- 安裝我吧
- 進程間通信對應用程序響應時間的影響
- 保持構建的整潔
- 知道如何使用命令行工具
- 通曉兩門以上編程語言
- 了解你的 IDE
- 了解你的局限性
- 知道你下次提交的內容
- 大型、相關聯的數據屬于數據庫
- 學習外語
- 要學會估算
- 學著說“Hello,World”
- 讓你的項目能表達它自己
- 鏈接器(Linker)并不神秘
- 臨時解決方案的壽命
- 使接口易于正確使用,難于錯誤使用
- 讓不可見的更加顯眼
- 在并行系統中使用消息傳遞可獲得更好的伸縮性
- 帶給未來的消息
- 錯失采用多態的機會
- 奇聞軼事:測試人員是你的朋友
- 二進制文件僅此一份
- 有代碼有真相
- 擁有(以及重構)構建腳本
- 結對編程,感受流程
- 特定領域類型勝過原始類型
- 預防錯誤
- 專業程序員
- 把一切都置于版本控制之下
- 放下鼠標,遠離鍵盤
- 閱讀代碼
- 讀懂人性
- 經常重新發明輪子
- 抗拒單子模式的誘惑
- 通向高性能之路布滿了臟代碼炸彈
- 簡單來自于刪減
- 單一職責原則
- 從 Yes 開始
- 請轉回去做自動化、自動化、自動化
- 充分利用代碼分析工具
- 為必需行為測試,而不是偶發行為
- 測試要嚴密而具體
- 在睡覺的時候(或者度周末的時候)進行測試
- 軟件開發的工程嚴密性來自測試
- 關于狀態的思想
- 一人計短,二人計長
- 錯上加錯就是貌似正確(并且難以糾正)
- 我寫代碼為人人,人人為我寫代碼
- Uinx 工具是你的好朋友
- 使用正確的算法和數據結構
- 冗長的日志會讓你睡不安枕
- WET 掩蓋了性能瓶頸
- 當程序員和測試人員開始合作的時候
- 編寫代碼時要像余生都要給它提供支持一樣
- 使用實例編寫小函數
- 測試為人而寫
- 你應該關心你的代碼
- 客戶心口不一
作為程序員,一件都不知道,這是不可能的,或者如果你不是程序員,那就另當別論了。
來自: www.techug.com
<span id="shareA4" class="fl">
</span>
</div>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!