iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 21
0

解釋性變數

分解表示式最簡單方式是加入代表部份表示式的額外變數:

if line.split(';')[0].strip() == "root":
   ...

以下是加入解釋性變數的版本:

username = line.split(";")[0].strip()
if username == "root":
   ...

摘要變數

if (request.user.id == document.owend_id){
   // 使用者可以編輯這份文件 ...
}
if (request.user.id != document.owend_id){
   //文件狀態是唯讀 ...
}

這段程式主要的概念是「使用者是否擁有這份文件?」利用加入摘要變數清楚的表示出這個概念:

final boolean user_owns_document = (request.user.id == document.owend_id):
if (user_owns_document){
   // 使用者可以編輯這份文件 ...
}
if (!user_owns_document){
   //文件狀態是唯讀 ...
}

改變不大,但if (user_owns_document)敘述比較容易理解。

Reference

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

上一篇
提供控制流程可讀性--3
下一篇
分解巨大表示式--2
系列文
易讀程式之美學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Mars
iT邦新手 5 級 ‧ 2018-11-05 13:42:02

標題應該是分解?

mark9462 iT邦新手 5 級 ‧ 2018-11-05 16:43:11 檢舉

是的,感謝提醒!

我要留言

立即登入留言