iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 4
0
自我挑戰組

易讀程式之美學系列 第 4

富含資訊的名稱--優先使用具體名稱而非抽象名稱

假設有個稱為ServerCanStart()的內部方法,作用是檢查伺服器是否能夠傾聽指定的TCP/IP通訊埠,那這樣名稱就太過抽象,具體的名稱可以是直接描述方法的作用的CanListenOnPort()。

再舉個例子:
--run_locally選用命令列選項,會讓程式印出額外的除錯訊息,但造成速度大幅下降,一般在本地端主機測試會開啟這選項。而在遠端主機上執行時,因效能關係不會啟用這選項。
讀者可以看得出來名稱的由來,但這個名稱會有不少問題:

  • 新成員無法理解選項的作用,可能會在本地執行端執行(用猜的)引起誤會,但不知道為何需要。
  • 偶爾當需要在遠端執行印出除錯訊息時,會在遠端執行得程式上使用,這看起來很可笑也很容易。
  • 在本地端執行效能測試時,為了不讓除錯訊息影響執行速度,並不會啟用這選項。

--run_locally的問題在於它是以一般使用情況命名,改為--extra_loggin會直接與明確。

Reference

  • <<易讀程式之美學-提升程式碼可讀性的簡單法則 >>(The Art of Readable Code)

上一篇
富含資訊的名稱--避免通用性名稱
下一篇
富含資訊的名稱--在名稱中加入額外資訊
系列文
易讀程式之美學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言