看板 Soft_Job 關於我們 聯絡資訊
小小的說一下我的個人心得, 以前從某本書上看來的 (好像是 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