第十屆

self
易讀程式之美學
mark9462

系列文章

DAY 21

分解巨大表示式--1

解釋性變數 分解表示式最簡單方式是加入代表部份表示式的額外變數: if line.split(';')[0].strip() == "root&quo...

DAY 22

分解巨大表示式--2

利用笛摩根定律 這是將布林表示示改寫成等等價表示式的方式: not (a or b or c) <=> (not a) and (not b) a...

DAY 23

分解巨大表示式--3

分解巨大的敘述 var update_highlight = function (message_num) { if ($("#vote_v...

DAY 24

變數與可讀性--1

消除變數 不必要的暫存變數 now = datetime.datetime.now() root_message.last_view_time = now n...

DAY 25

變數與可讀性--2

縮限變數的範圍 程式設計師都知道應該「避免使用全域變數」,事實上,對所有的變數而言「縮限範圍」都是很好的建議,不限於全域變數。 重要概念儘可能減少可以看到變數...

DAY 26

變數與可讀性--3

偏好單次寫入的變數 到目前為止討論了大量「使用中」變數的程式碼叫難理解,持續改變數值的變數,會讓程式碼更難理解。近乎「穩定不變」的變數較容易考慮: static...

DAY 27

抽離不相關子問題--1

本篇核心是「積極尋找並抽離不相關子問題」: 看看特定的函數或程式區塊,自問「這段程式主要目的為何?」 對每行程式問「是否與目的有直接的關係?或是處理其他解決目...

DAY 28

抽離不相關子問題--2

範例:findClosestLocatioin() // 傳回'array'當中與指定得 latitude/longitude 最接近的位置 // 假設地表為完...

DAY 29

抽離不相關子問題--3

專案專屬功能 以下是取自企業意見調查網站的例子,Python 程式碼建立了新的 Business 物件並依序設定了name、url 及date_created:...

DAY 30

抽離不相關子問題--4

依需求重塑介面 有許多程式碼目的是支援其他程式碼-例如,設定其他函數輸入值或是對輸出值後續處理。有個Python字典存放敏感的使用者資訊,於是先使用Cipher...