(引用匯總)
1、寫給新手程序員的一封信(http://www.williamlong.info/archives/2700.html)
--選擇一門好的編程語言,一門你自認爲可以用它快速地做出一些有用東西的語言。
--選擇一個好的編輯器。SublimeText 2;Emacs;Vim
--選擇一個你可以從中學到東西的操作系統
--不要通過複製粘貼來做備份(Git)
--知道去哪裏尋求幫助(找社區,比如StackOverflow)
--培養你的禮儀,記得問問題的時候要禮貌
--結交朋友,技術書籍只能教你解決常見的問題(他們說:書是死的)
--參加開源項目而且編寫的代碼會成爲與他人有效溝通的橋樑
2、編程修養(http://blog.csdn.net/haoel/article/details/2872)
我認爲好的程序員應該有以下幾方面的素質:
1、有專研精神,勤學善問、舉一反三。
2、積極向上的態度,有創造性思維。
3、與人積極交流溝通的能力,有團隊精神。
4、謙虛謹慎,戒驕戒燥。
5、寫出的代碼質量高。包括:代碼的穩定、易讀、規範、易維護、專業。
這些都是程序員的修養,這裏我想談談“編程修養”,也就是上述中的第5點。
如果你要做一個“匠”,也就是造詣高深的人,那麼,從一件很簡單的作品上就能看出你有沒有“匠”的特性,我覺得做一個程序員不難,但要做一個“程序匠”就不簡單了。編程序很簡單,但編出有質量的程序就難了。
“細微之處見真功”,真正能體現一個程序的功底恰恰在這些細微之處。
這就是程序員的——編程修養。我總結了在用C/C++語言(主要是C語言)進行程序寫作上的三十二個“修養”,通過這些,你可以寫出質量高的程序,同時也會讓看你程序的人漬漬稱道,那些看過你程序的人一定會說:“這個人的編程修養不錯”。
————————————————————————
01、版權和版本
02、縮進、空格、換行、空行、對齊
03、程序註釋
04、函數的[in][out]參數
05、對系統調用的返回進行判斷
06、if 語句對出錯的處理
07、頭文件中的#ifndef
08、在堆上分配內存
09、變量的初始化
10、h和c文件的使用
11、出錯信息的處理
12、常用函數和循環語句中的被計算量
13、函數名和變量名的命名
14、函數的傳值和傳指針
15、修改別人程序的修養
16、把相同或近乎相同的代碼形成函數和宏
17、表達式中的括號
18、函數參數中的const
19、函數的參數個數
20、函數的返回類型,不要省略
21、goto語句的使用
22、宏的使用
23、static的使用
24、函數中的代碼尺寸
25、typedef的使用
26、爲常量聲明宏
27、不要爲宏定義加分號
28、||和&&的語句執行順序
29、儘量用for而不是while做循環
30、請sizeof類型而不是變量
31、不要忽略Warning
32、書寫Debug版和Release版的程序
————————————————————————
3、程序員技術練級攻略(http://coolshell.cn/articles/4990.html):
建議: 不要亂買書,亂追新技術,基礎的東西經過積累而且還會在未來至少10年通用。 回顧歷史,看看時間線上技術的發展,你才能明白明天會是什麼樣。
一定要動手,例子不管多麼簡單,建議至少自己手敲一遍看看是否理解了裏頭的細枝末節。 一定要學會思考,思考爲什麼要這樣,而不是那樣。還要舉一反三地思考。
個人認爲以後的趨勢是前端是Web+移動,後端是Linux+開源
--學習一門腳本語言,例如Python/Ruby
--熟悉Unix/Linux Shell和常見的命令行
--學習Web基礎(HTML/CSS/JS) + 服務器端技術 (LAMP)
進階加深
--C語言和操作系統調用
--學習Java
--Web的安全與架構
--學習關係型數據庫
--一些開發工具
高級深入
--C++ / Java 和麪向對象
--加強系統瞭解
--系統架構