程式碼精進之路-範學雷-極客時間

wuwu發表於2019-04-25

極客時間出品的《程式碼精進之路》由範學雷所作,範學雷是Oracle首席軟體工程師,Java SE安全組成員,OpenJDK評審成員。本專欄課程,我們邀請到了範學雷老師,他將帶你開啟一段程式碼精進之旅。

《程式碼精進之路》封面圖

《程式碼精進之路》背景介紹

2014 年 2 月,安全研究人員爆出蘋果公司旗下的 iOS 和 OS X 作業系統出現了嚴重的安全漏洞,黑客可以利用這一漏洞輕鬆獲取使用者的資料。


if ((error = doSomething()) != 0)
goto fail;
goto fail;
if ((error= doMore()) != 0)
goto fail;
fail:
return error;

其實這個漏洞產生的原因僅僅是因為出現了一行多餘的程式碼,導致後面的其他程式碼“失效”,這一低階錯誤也讓所有的安全人員大跌眼鏡。你可能會說,這開發人員真是太粗心了,是不是他複製程式碼的時候,多複製了一行,然後忘記刪除了?
可能是這個原因,但問題的源頭肯定不是粗心。有專家在看完了程式碼檔案之後,發現相關的 bug 程式碼沒有正確使用縮排,也沒有正確使用括號,並且其中的空格、製表符和程式碼註釋也都不統一。
你看,蘋果公司的這個案例給我們上了教科書般的一課,深刻地告訴我們程式設計的基礎能力是有多麼重要。一個小小的疏忽,可能就會造成嚴重的後果。
編寫安全、高效、易讀和可擴充套件的程式碼,是每一個程式設計師的畢生追求。那到底怎麼才能實現這個目標呢?

《程式碼精進之路》講師介紹

《程式碼精進之路》作者範學雷

範學雷,Oracle 首席軟體工程師,Java SE 安全組成員,OpenJDK 評審成員。範學雷是 Java SE 安全的主要推動者和貢獻者之一,也是 Java 語言平臺的設計實現者之一。
在專欄裡,他將帶著自己 20 多年的程式設計心得和豐富的程式碼評審經驗,圍繞程式碼的規範、經濟和安全三個方面展開講解,選取實際工作中最常遇到的 40 多個經典細節,通過多種語言來描述,幫你糾正錯誤的編碼認知,帶你挖掘實際工作場景中的編碼隱患,教給你最具體實用的優化方案,一起培養良好的編碼習慣,寫出優秀的程式碼。

《程式碼精進之路》專欄模組

專欄共 45 期,分為 4 個模組。

認知篇

什麼樣的程式碼是優秀的程式碼?如何才能寫出優秀的程式碼?優秀的軟體工程師什麼樣?這一模組將為你清楚介紹優秀程式碼的準則和達成路徑,其中的核心認知將貫穿每一個程式設計師的程式設計生涯。

“規範”修煉篇

怎麼給你的程式碼起好名字?寫好註釋很容易嗎?異常處理都有哪些陷阱?這一模組將帶你討論程式碼規範的十個關鍵維度,結合正反面案例,手把手教你編寫規範的程式碼。

“經濟”修煉篇

Java 垃圾管理器可以提高多少效率?列表查詢速度可以提高多少?這些問題都能通過編寫“經濟”的程式碼搞定。這一模組將帶你深入十餘個編碼細節,教你寫出維護性高、相容性好的高質量程式碼。

“安全”修煉篇

程式碼安全是老生常談的問題,一個疏忽的小細節就有可能造成一個大漏洞。這一模組將從案例入手,教你規避編碼過程中常見卻又容易疏忽的安全隱患,編寫“牢固”的程式碼。

《程式碼精進之路》課程目錄

認知篇

  1. 從條件運算子說起,反思什麼是好程式碼
  2. 把錯誤關在籠子裡的五道關卡
  3. 優秀程式設計師的六個關鍵特質

“規範”修煉篇

  1. 程式碼規範的價值:覆盤蘋果公司的GoToFail漏洞
  2. 怎麼給你的程式碼起好名字?
  3. 程式碼整理的關鍵邏輯和最佳案例
  4. 寫好註釋,真的是小菜一碟嗎?
  5. 寫好宣告的“八項紀律”
  6. 怎麼用好Java註解?
  7. 異常處理都有哪些陷阱?
  8. 組織好程式碼段,讓人對它“一見鍾情”
  9. 組織好程式碼檔案,要有“使用者思維”
  10. 介面規範,是協作的合約
  11. 怎麼交付程式碼的使用者指南?
  12. 編寫規範程式碼的最佳實踐清單
  13.  “規範”模組熱點問題答疑

“經濟”修煉篇

  1. 導讀:為什麼說你要關注程式碼的效能問題?
  2. 思考框架:什麼樣的程式碼才是高效的程式碼?
  3. 少即是多,該怎麼避免過度設計?
  4. 簡單和直觀,是永恆的解決方案
  5. 怎麼設計一個簡單又直觀的介面?
  6. 高效率,從超越執行緒同步開始!
  7. 怎麼減少記憶體使用,減輕記憶體管理負擔?
  8. 黒白灰,理解延遲分配的兩面性
  9. 使用有序的程式碼,調動非同步的事件
  10. 怎麼讓程式碼“少招惹麻煩”?
  11. 怎麼讓程式碼“可持續發展”?
  12. 怎麼儘量“不寫”程式碼?
  13. 編寫經濟程式碼的最佳實踐清單
  14. “經濟”模組熱點問題答疑

“安全”修煉篇

    1. 為什麼安全的程式碼這麼重要?
    2. 如何衡量安全的程式碼?
    3. 整數的運算有哪些安全威脅?
    4. 怎麼處理陣列和集合的安全陷阱?
    5. 怎麼處理敏感資訊?
    6. 繼承有什麼安全缺陷?
    7. 怎麼處理跨界資料的安全隱患?
    8. 物件序列化的危害有多大?
    9. 怎麼控制好程式碼的權力?
    10. 怎麼用好Java的內在安全機制?
    11. 怎麼保持程式碼的長治久安?
    12. 怎麼防範軟體安全風險?
    13. 編寫安全程式碼的最佳實踐清單
    14. “安全”模組熱點問題答疑
    15. 尾聲:如何成為一個程式設計好手?

訂閱價格:

為回報猿人學的粉絲,所有通過我分享的二維碼購買的使用者,請加我微訊號:dismissmewp,備註:返現。

享受完其它優惠後,我再給大家立即返¥12元現金。

程式碼精進之路 課程返現

猿人學banner宣傳圖

我的公眾號:猿人學 Python 上會分享更多心得體會,敬請關注。

***版權申明:若沒有特殊說明,文章皆是猿人學 yuanrenxue.com 原創,沒有猿人學授權,請勿以任何形式轉載。***

相關文章