Posted on 2008-07-09 22:45
xcp 閱讀(477)
評論(1) 編輯 收藏 所屬分類:
編程之道
想成為最牛程序員嗎?以下幾點有助你實現這個目標。
Tip 1 要方法而不是記憶
我的一個程序員朋友常跟我說記住超過200個C++函數是多么的有幫助。“我從來不必去查找函數的定義,因此我可以比其他程序員編程快上50%。”他自豪的說。可結果是什么?難道他不知道編譯器的代碼自動完成功能可以節約大量查找函數及輸入函數的時間嗎,另外當C#發布出來后,他在記憶函數上面的努力就白費了。當然,編程中對函數的熟記是一件必需的事情,但是你應當花費更多的時間在學習做事的方法上,比如說創建一個數據庫連接,如何產生RSS源等,然后是關注于代碼是如何實現的。學習做事的正確方法遠比死記硬背重要。
Tip 2 建立屬于你自己的資源庫
我們都會有因為這樣或者那樣原因而不得不建立的代碼集。我從來不記得連接數據庫的準確代碼語句,所以我每次都不得不在代碼集中花10分鐘去查詢它。為了解決這個問題,我創建了一個用于記錄代碼片段的Word文檔,以幫助我記憶和查找。我的一個同事建了個記錄鏈接的書簽,另外一個同事在他的郵件中存儲了這些內容。無論你的方法是什么,都是一種可以使你方便查找到文件或內容的好習慣。當你建立你的知識庫后,你會發現它將極大的幫助你去把代碼寫得更好和更快。
Tip 3 知道做什么而不是怎樣做
很多初級程序員問我“我怎樣做這個,或者我怎樣做那個?”我總是會跟他們說“你想做什么呢?”聽聞此言后,他們會死盯著我,就好像我跟他們的媽媽約會了一樣。這就是我的下一個觀點,絕不要在知道你想做什么之前去學習怎樣做,比如一個程序員想要搜索一個文本文件中是否存在的某個特定的詞匯。下面是用C#來實現該目的:
Tip 4 創建適合你的注釋風格
每一個程序員都討厭注釋,但是為了寫出更有質量和易讀的代碼,我們需要注釋。問題是大多數程序員常被告知如何注釋,一些公司希望每一行代碼都有注釋,另外一些則想要在每個函數前面有一段注釋,還有的規定在不同的代碼塊前注釋。我并不同意這種強制性的規定,只要代碼是可用的、易讀的和有效的,那么程序員應當可以用其個人喜好的格式來注釋。對我來說在每一行都注釋將破壞代碼的節奏,我更喜歡在函數的前面注釋,羅列我接下來一步步將要做什么,然后在函數中參考注釋中所寫的步驟進行編程。這是適合我的模式,這樣可以在我編程前幫助我組織設計,也保持了我的節奏,使我不會因為需要注釋而在編程時中斷,也有助于其他人閱讀我的代碼。下面是我怎樣注釋的例子:
/* 1. Open File*
2. Read file into string*
3. Close file*
4. Search for key word*
5. If fond return true;
*/
string fileContent;
//1.
System.IO.FileStream myStream = new FileStream("c:\\aa.txt", FileMode.Open);
System.IO.StreamReader myStreamReader = new StreamReader(myStream);
//2.
fileContent = myStreamReader.ReadToEnd();
//3.
myStreamReader.Close();
//4.
int idx = fileContent.IndexOf("string");
if (idx)
{
//5.
return true;
}
這種注釋風格使我和大多數程序員可以容易的閱讀它。那么,找一個適合你的注釋風格吧。
Tip 5 精通one,學習another,關注next
有時有程序員發email問我他應該學習什么語言,什么是最好的編程語言等等。你至少應該精通一門編程語言,可以相當好的去編寫代碼,然后再去學習掌握另外一門,逐漸的成長。以我自己為例,我精通C#,擅長PHP,并且已經開始使用Ruby onRails大概有一兩個月了。為什么呢?精通一門語言可以使你進步,在進步中寫更好的代碼,找到完成任務更好的方法等。進步也是我作為一個程序員年復一年的工作,卻仍沒有覺得枯燥的原因。
Tip 4 創建適合你的注釋風格
每一個程序員都討厭注釋,但是為了寫出更有質量和易讀的代碼,我們需要注釋。問題是大多數程序員常被告知如何注釋,一些公司希望每一行代碼都有注釋,另外一些則想要在每個函數前面有一段注釋,還有的規定在不同的代碼塊前注釋。我并不同意這種強制性的規定,只要代碼是可用的、易讀的和有效的,那么程序員應當可以用其個人喜好的格式來注釋。對我來說在每一行都注釋將破壞代碼的節奏,我更喜歡在函數的前面注釋,羅列我接下來一步步將要做什么,然后在函數中參考注釋中所寫的步驟進行編程。這是適合我的模式,這樣可以在我編程前幫助我組織設計,也保持了我的節奏,使我不會因為需要注釋而在編程時中斷,也有助于其他人閱讀我的代碼。下面是我怎樣注釋的例子:
/* 1. Open File*
2. Read file into string*
3. Close file*
4. Search for key word*
5. If fond return true;
*/
string fileContent;
//1.
System.IO.FileStream myStream = new FileStream("c:\\aa.txt", FileMode.Open);
System.IO.StreamReader myStreamReader = new StreamReader(myStream);
//2.
fileContent = myStreamReader.ReadToEnd();
//3.
myStreamReader.Close();
//4.
int idx = fileContent.IndexOf("string");
if (idx)
{
//5.
return true;
}
這種注釋風格使我和大多數程序員可以容易的閱讀它。那么,找一個適合你的注釋風格吧。
Tip 5 精通one,學習another,關注next
有時有程序員發email問我他應該學習什么語言,什么是最好的編程語言等等。你至少應該精通一門編程語言,可以相當好的去編寫代碼,然后再去學習掌握另外一門,逐漸的成長。以我自己為例,我精通C#,擅長PHP,并且已經開始使用Ruby onRails大概有一兩個月了。為什么呢?精通一門語言可以使你進步,在進步中寫更好的代碼,找到完成任務更好的方法等。進步也是我作為一個程序員年復一年的工作,卻仍沒有覺得枯燥的原因。
string fileContent;
System.IO.FileStream myStream = new FileStream("c:\\aa.txt", FileMode.Open);
System.IO.StreamReader myStreamReader = new StreamReader(myStream);
fileContent = myStreamReader.ReadToEnd();
myStreamReader.Close();
int idx = fileContent.
IndexOf("string");
if (idx)
{
return true
}
現在我給他這些代碼去做這件事,但是更重要的是理解自己正在試著做的是什么。在這個例子中我們想做的是:
1. 打開一個文件
2. 讀其中的內容
3. 關閉文件
4. 搜索字串
5. 如果找到了則輸出結果
用這個方法來解決事情產生了以下結果:
1. 它使語言無關
2. 使你的精力集中在需要做什么上
3. 使你的代碼更易讀和有效
知道要做什么將使你的代碼更有目的性。現在在C++、PHP、VB.NET、Ruby on Rails中編寫上述代碼是很容易的事情了,因為你理解了要做什么而不是怎樣去做。
名稱: ?4C.ESL | .↗Evon
口號: 遇到新問題?先要尋找一個方案乄而不是創造一個方案こ
mail: 聯系我