嗨,小伙伴們大家好,我是沉默王二,就是那個吹自己既有顏值又有才華的家伙,今天這個話題我覺得還是值得和大家探討的,因為好的編程習慣對程式員的職業生涯真的非常重要,
記得我在學駕照的時候,遇到一哥們,之前開過車,屬于無證駕駛的那種,但是,這哥們科目二竟然掛了四次,第五次有沒有過我不知道,因為我科目三都考過了,那哥們還在練科目二,教練真氣的不輕,天天扯著嗓門喊:“你那個腦袋瓜子特么能不能不要鉆到車窗外面看,把車窗玻璃給我搖上去,里面難道看不到鏡子嗎?”
我在排隊等車期間真的觀察過,尤其是側方停車的時候,這哥們總是有意無意把腦袋伸出窗外看,玻璃搖上去的時候都能磕到車窗上,看得我都替他捉急,教練說這哥們之前開車的時候養成了這個壞習慣,現在想改就是改不過來;報了 VIP 也沒用,最后一次看天意吧,實在是沒招了,
不是我吹牛,我科目二就考得挺順利,一次性過,倒車入庫的時候感覺都要壓線了,但憑借著兩周時間養成的好習慣硬是過了,

那接下來我就來分享三個好習慣,自我感覺良好地認為,值得所有的小伙伴們借鑒,
01、代碼一定要規范
任何編程語言都有自己的一套規范,好的規范能讓代碼更易閱讀,能讓 bug 沒有容身之處,你比如說,Java 類的命名應該遵守以下規則:
- 必須以大寫字母開頭
- 最好是一個名詞,比如說 System
- 盡量不要省略成單詞的首字母
來看個例子:
public class Writer {}
再比如說,方法的命名應該遵守以下規則:
- 必須以小寫字母開頭
- 最好是一個動詞,比如說
print() - 可以包含多個單詞,第一個單詞的首字母小寫,其他的單詞首字母大寫,比如說
actionPerformed()
來看個例子:
void writeBook(){}
遵守這些規則就像是在馬路上遵守交通規則一樣,否則后果不堪設想,之前給小伙伴們安利過兩個 IDEA 插件,一個阿里巴巴的開發規約,一個 SonarLint,它們在提高代碼質量上面的效果杠杠的,我自己一直在用,
還有就是阿里出品的 Java 開發手冊,一定要把上面羅列的條目刻到腦子里,至少放一份在桌面上吧,活學活用,
我之前在日企的時候,公司內部就有一份編碼規約,關于 ActionScript 方面的,詳細程度可以和阿里的開發手冊媲美,只不過沒有對外開放,好多年過去了,雖然規約上面的內容忘得一干二凈,但它給我的印象深刻——就像初戀女友一樣,容顏早已忘卻,背影卻時不時涌上心頭(逃,

02、學會閱讀原始碼
原始碼是香,但我不建議新手一上來就閱讀原始碼,因為很容易勸退,就好像文章開頭提到的學駕照一樣,如果一開始就從科目三練起,那多半會在路上完蛋,
閱讀原始碼之前,技術儲備一定要到位,也就是說科目三練習之前,科目一的理論知識要過關,科目二的基本技巧要掌握,如果說方向盤都不會打,油門剎車都不會踩,檔位都不會掛,那教練不被嚇出心臟病才怪,
一旦你的技術功底達到一定程度后,想要更上一層樓,閱讀原始碼就變得勢在必行了,因為閱讀原始碼有以下好處:
解決 bug,如果 Google、Stack Overflow 上搜不到答案,那么閱讀原始碼幾乎就是唯一可行的解決辦法了,
知其所以然,比如說,你想知道為什么 String 類是不可變類,那就必須鉆一鉆原始碼才能明白,
學習,為什么大牛們都會推薦 GitHub,就是因為它上面的專案都是開源的,源代碼是可以直接閱讀的,
改造,很多時候,我們已經拿到了一個輪子,但需要對它進行一些改造才能滿足需求,那就必須在改之前閱讀原始碼,否則,輪子可能會被改造成錘子,
知道閱讀原始碼的好處了吧?那有小伙伴可能要問,怎么去閱讀原始碼呢,有哪些技巧呢?我來分享一下自己經驗:
先閱讀檔案,知道庫是干嘛的,知道類是干嘛的,知道方法是干嘛的,知道變數是干嘛的,
打斷點,進行除錯,代碼之間會有很多呼叫關系,如果只看不動手和原始碼干一架的話,很可能不知道代碼之間是如何銜接的,通過除錯就可以看清楚整個原始碼之間的脈絡,
分享閱讀原始碼后的心得,所謂好記性不如爛筆頭,寫下來可不只是為了分享自己閱讀原始碼后的喜悅之情,更重要的是,當你忘的差不多時筆記可以喚醒你的記憶,

03、獨立思考并解決問題
我的技術交流群里有過那么一個小伙伴,一年多時間過去了,幾乎沒什么成長,遇到問題就往群里群里扔,或者直接私信發給我,我發現,現在問的問題和一年前問的問題真差不多,無非就是形式上發生了一些變化,
這說明什么呢?這名小伙伴沒有學會獨立思考,沒有學會舉一反三,人最珍貴的財產其實不是錢,而是思考的能力,對吧?腦子是越用越靈活的,不用呢,就真的會生銹,
一旦你學會獨立思考,那么你解決問題的能力真的是會提升一個很高的檔次——從一名合格的程式員蛻變為一名優秀的程式員的關鍵節點,在我上大專的兩年時間里,成長真的特別慢,因為遇到問題我就想著問同學啊,問老師啊,結果是同學和老師進步了,我還是原來的我,
等到大三去實習后,一切就悄然改變了,領導忙得很,壓根就沒有工夫幫你解決一些雞毛蒜皮的小問題,再者,真不好意思,不能把底褲漏給領導看啊,沒辦法,我就只能自己硬著頭皮上,
硬上的次數多了,真的發現,原來自己不通過別人的幫助也能夠把問題解決掉,漸漸地,隨著時間的推移,我在團隊里面開始顯山露水了,
那怎么才能培養獨立思考的能力呢?按照胡適先生所說的,就是質疑一切,然后提出假設,最后去求證,
你比如說,Java 程式員都知道 String 類是不可變的,那假如說它是可變的呢?會是什么樣子,研究完你就會明白,原來一個不可變類是這樣設計的啊,自己也能搞個不可變類了!

04、最后
如果覺得文章對你有點幫助,請微信搜索「 沉默王二 」第一時間閱讀,本回答已收錄 GitHub,傳送門~ ,里面更有大廠面試完整考點,歡迎 Star,
我是沉默王二,一枚有顏值卻靠才華茍且的程式員,關注即可提升學習效率,別忘了三連啊,點贊、收藏、留言,我不挑,嘻嘻,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/14093.html
標籤:其他
