[Clean Code] 條件式 Conditional

條件式是程式中常見的描述句,但對於難以一眼看懂的描述邏輯無疑是增加了閱讀的困難。

人腦的暫存記憶區是有限的,當 Function 中的判斷式越「巢」,對於閱讀就更具負擔。排版上也不好看,這是應當避免的情況。此篇列出一些不佳的情況,以及提供一些避免的手段以供參考。

 

...繼續閱讀 »

[Clean Code] 註解 Comment

沒有什麼可以比一段放對位置的註解,更能提供助益。沒有什麼可以比一段無聊教條式的註解,更能弄亂模組。也沒有什麼可以比一段陳舊而混沌不清的註解,更能傳播傷害性的謊言及提供錯誤的資訊。

曾經我以為註解多多益善,然而在閱讀完這些書籍及課程後顛覆了我原有的認知。

 

...繼續閱讀 »

[Clean Code] 函式 Function

這又是另外一個有趣的問題,在我腦海裡,不知道哪來的錯誤認知,曾經以為只有在該段程式碼被重複使用時,才會被擷取為 Function。然而,在 Clean Code 的世界中,擷取 Function 對於改善程式碼的可讀性,是一個非常重要且必要的方式。我摘取了幾項重要的準則。

...繼續閱讀 »

[91大的TDD課程心得] TDD 精髓

當我接觸到 Agile、XP (eXtreme Programming) 時

也常常聽見 TDD 這個名詞,在學習這門課前

僅約略知曉就是開發前先撰寫測試,以確保產品品質

心中不免晃過一絲絲「這只是測試人員推卸責任而已吧~」的念頭
(真的只有一絲絲喔~XD)

上完了第三天課,不只是顛覆既定的刻板思考

而是紮實有一種醍醐灌頂的感動。

 

...繼續閱讀 »

[Agile] 敏捷團隊的個人績效考核

在敏捷的團隊中,理論上至多只能擁有團隊績效,沒有個人成績

敏捷團隊重視的團體大過於個人,鼓勵所有成員能夠相互幫助、相互支援

將一切都透明化,一起成長、一起進步。

但現實生活中卻不是這樣,多數的公司的文化制度,仍保有個人 KPI 的規範

那基於敏捷模式下的團隊,該如何去訂定個人 KPI 呢?

 

...繼續閱讀 »

[91大的TDD課程心得] Day1其他心得雜記

追蹤了91大甚久~也見過不少次

歷經一番佈署爭取,終於讓老闆讓我去上課啦~~XD 感謝老闆!

 

先說結論,今天真的充實,也完全不覺得乏味

九個小時一下子就過了~~  

之前也算有自行牛刀小試 TDD,很多卡關點今天完全解惑!

但後面竟然還有整整兩天課的內容,實在讓我非常期待!!

 

※ 本文僅雜記一些零碎的心得~

...繼續閱讀 »

[91大的TDD課程心得] Unit Test 基本認識

Unit Test。

從踏入軟體工作就聽過的名詞~

但以往只知道是小小的測試,就是要補一堆很廢的文件

以示對自己程式碼的負責。

腦中浮現的就是很不想面對的名詞,但又好像聽起來很有道理必須面對。

回想過去,沒有好的工具、沒有明確的 Unit Test 定義,完全就是放給他爛

最近自己也開始著墨這個部份~ 上完課終於有全面的瞭解啦!!

 

...繼續閱讀 »

[ASP .NET MVC] foreign key

假設有一個 Customer 的 model class 長得像以下這樣,update-database 之後,

理論上應該會在 Customer 的  Table 中自動建立出 MembershipType_Id 的 foreign 欄位?

(也就沒有 MembershipType 的欄位了)

public class Customer
{
	public int Id { get; set; }	
	public MembershipType MembershipType { get; set; }	
	public byte MembershipTypeId { get; set; }		
}

MembershipType 是另外一個 Model 的 Class

...繼續閱讀 »

[ASP .NET MVC] 暴力修改專案名稱路徑造成資料庫無法重生

我作了一件很勇敢愚蠢的動作..

除了程式碼的部份之外,其餘地方都用很暴力的方式修改了專案名稱及路徑

導致資料庫無法正常重生...(活該阿阿~)執行 'update-database' 後

會出現「XXXX-XXXXXXXX.mdf' already exists. Choose a different database name.」的錯誤訊息...

最莫名弔詭的是,該路徑下用 NotePad++ 搜尋所有檔名及檔案內容及已無任何 OLD_PROJNAME 的關鍵字

 

...繼續閱讀 »