作者walao81 (Male)
看板Soft_Job
標題Re: [請益] 怎麼寫得清楚?
時間Thu Mar 22 23:05:14 2012
小小的說一下我的個人心得,
以前從某本書上看來的 (好像是 refactoring to pattern)
寫程式要有等級的觀念, 不要把不同程度的細節都寫在一起
所以萬一要看別人的程式碼,我會先 copy 一份出來,
然後自己先 refactoring 一番,
例如:
def delete_group(self, group):
# 從資料庫中撈出所有屬於這個 group 的 group member 然後標記為刪除
group_members = GroupMember.objects.filter(group = group)
for group_member in group_members:
group_member.active = False
group_member.status = "Deleted group member"
group_member.save()
# 將 group 標記為刪除
group.active = False
group.status = "Deleted group"
group.save()
可以修改成:
def _delete_group_member(self, group):
group_members = GroupMember.objects.filter(group = group)
for group_member in group_members:
group_member.active = False
group_member.status = "Deleted group member"
group_member.save()
def _delete_group(self, group):
group.active = False
group.status = "Deleted group"
group.save()
def delete_group(self, group):
# 從資料庫中撈出所有屬於這個 group 的 group member 然後標記為刪除
self._delete_group_member(group)
# 將 group 標記為刪除
self._delete_group(group)
以上,直接搬過去就好了, 注意上下關係就不容易有錯誤,
就算把註解刪除了,還是一眼就看出在做什麼
def delete_group(self, group):
self._delete_group_member(group)
self._delete_group(group)
像這樣先把同等級的"句子"整理出來,
最後再一邊追一邊配上 class diagram 就沒問題了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.101.166.191