課程咨詢 :0517-89003283

姓名

電話

Q Q

城市

當前位置 :  首頁 > 課程體系 > JAVA軟件開發

學編程一開始就值得堅持的習慣

時間:2017-05-04 14:41:50 作者:淮安北大青鳥


學習任何一門技術,在一開始就養成優秀的習慣,這是非常重要的。
1、看官方文檔
遇到不清楚或不懂的知識點,先去看官方文檔!
很多官方文檔是英文的,硬著頭皮也要看!看著看著就習慣了。
剛開始讀英文文檔會費時間和精力,但是等你回過頭來再看,你會覺得這才是最恰當的選擇。
為什么這樣講?
且不說你的英文水平得到提升(這是程序員無法回避的問題),耐性得到鍛煉,什么叫官方文檔?!兩個字:權威!準確!當你習慣了在百度上百度一些似是而非,似懂非懂的答案時,甚至有的文章觀點完全不一樣,你就會懂了。
當然,并沒有否認網上有好的答案和文章,只是作為初學者,你的水平很難去辨別一些文章,觀點的好壞對錯,而這可能會對你理解一些知識帶來致命的誤導!
所以,作為初學者,應該多讀官方文檔,不要浮躁,要知道任何成長都沒有捷徑!
2、掌握邏輯,遵循統一原則
2.1:不要過分糾結于“怎樣把代碼寫得更短”或者“把代碼寫進一行”。

print filter(lambda x: len(filter(lambda y: x % y == 0, xrange(2, int(sqrt(x) + 1)))) == 0, xrange(2, 100))

這樣的代碼尼瑪意義何在?

2.2:至少在同一個項目里,遵循統一的命名原則。

class Test(object):
    ...
class ShuRuTest(Test):
    ...
class shuchu_ceshi(Test):
    ...

這真不能忍……
2.3:如果有比較通用的廣為接受的格式標準,請務必遵守。
比如Python的PEP008,比如C/C++至少有K&R(當然還有其它)……諸如此類。
2.4:代碼較長時記得寫好注釋,整個項目寫好文檔。
幾十行的小東西寫個說明也好;幾百幾千行的不寫注釋維護起來太麻煩。最可恨是項目沒文檔,別說轉手了,就自己過個小半年再來看都成了互不認識。
2.5:盡量拆分函數功能及類,保證一個函數只做一件事,不要全堆一個函數里。
一個函數幾百行?一個函數六七重循環?
……
2.6:考慮好異常處理,無論用if還是try。
畢竟一個RE線程就掛了,盡量考慮全可能的意外情況吧。
2.7:掌握好你所用語言的設計邏輯,或者說“世界觀”。
真正學好用好一種語言所必須的過程。其實并不復雜,多寫多總結很容易就能得到正確的理解,至少抽象層的理解務必要有。當然上手抓著本國人編寫的“xx語言編程實例”照著抄來抄去然后說哇擦我懂了這種……可能性不是很大。
2.8:出現問題時,請先懷疑自己的代碼。
在各種社區里經常會出現這樣的提問:
“你們有誰遇到過這樣的情況嗎?xxxx工作不正常!我的程序絕對沒有錯!”
一口咬定自己程序沒問題,然后直接就開始質疑廣泛使用的庫、解釋器有著神奇的無數人用過都沒有發現的bug……然后代碼貼出來一看,幾乎99%是他自己代碼里的錯誤……
2.9:務必看懂錯誤提示。
其實是編程的最基本要求,編譯器(解釋器)及運行時給出的錯誤提示務必看懂。其實沒啥難的,常見的也就那么些個單詞,就那么幾項概念,看明白就不用帶個錯誤提示滿世界問“我這個錯誤什么意思”這類的問題了……
3、不炫技
什么叫不炫技?就是能用最通用的方法解決的問題,絕不引入個人的方法,即使這個方法能突顯一個程序員的逼格。
因為一個程序員的逼格就意味著別的程序員智商被碾壓,更多的程序員沒法維護你的這段代碼。而讓一段代碼規范且可讀,是一個團隊程序員的最基本的責任。
開源項目不是版本越新越好;
別人寫的代碼也不一定都是垃圾,不一定非要自己重構一遍;
不是所有模塊都套上某個設計模式才能開發;
做優化模型的時候,不是越復雜越高大上的模型越好用,有時候組合優化和邏輯回歸就能解決很多工程問題;
中小項目里泛型不是用的越多越好;
Scala的程序員不好招,Spark的項目沒必要都用Scala寫;
網站也不是都一定用node.js寫才不過時。
在最合適的項目上用最合適的技術,不炫技,是程序員最好的習慣。
4、重視模塊化,重視抽象但不濫用
一般來說,程序員在2k行、20k行、200k行等若干程序規模時會遇到瓶頸,如果不用更科學有效的方法,超過了這個行數代碼就會混亂到難以維護。
針對這一現象,一個在編程方面很有成就的人做過一些實驗。在很不認真的寫一些小程序時,也總是寫的混亂不堪,這種情況下,程序行數超過200行就覺的很難受了。
在需要進行一點小的修改時,往往需要花很長時間去尋找到底該改哪里,十分吃力——這種吃力感是在那些精心思考的大項目里從未感受過的。這說明了,并沒有人有過人的天賦能在混亂中輕易找出清晰的脈絡,那就是說,能如魚得水,是因為好的習慣。
后來,進行了深入的思考。在模塊劃分合理、抽象合理的程序里,可以簡單的把一個個功能抽象為一個簡單的黑盒,不需要知道他們內部發生了什么復雜的反應,只需要知道他們對什么樣的輸入會做出什么樣的輸出。
這種抽象極大的減輕了大腦的負擔,可以把精力更多的投入到真正需要考慮的地方。而那些混亂的程序里,需要理清每一句話之間的關系,這無疑會極大的消耗腦力。這種情況下,200行就渾身難受就可以理解了——因為用于維護項目關系所消耗的腦力已經遠遠大于了那些好程序里的消耗。
這個習慣,真的讓人十分受益,請一定堅持。剛開始的時候,你或許覺得花很長時間去思考程序的模塊劃分、抽象層級是十分浪費時間的無用功;但久了以后,你就會感受到這種習慣帶來的好處:它會在無聲無息之間幫你消除掉許多瓶頸。而且還有額外的好處:當你習慣用模塊化組織你的思維時,思維能力也會有一定的增強。
好的習慣是成功的開始,從一開始就值得堅持。

免責聲明:轉載文章和圖片均來自公開網絡,版權歸作者本人所有,推送文章除非無法確認,我們都會注明作者和來源。如果出處有誤或侵犯到原作者權益,請與我們聯系刪除或授權事宜。

 

more

開班信息

more

熱點新聞

淮安瀚唐信息技術有限公司版權所有  蘇ICP備13014967-1
棋牌游戲平臺 <天天樂棋牌>| <波克棋牌>| <愛玩棋牌>| <天天樂棋牌>| <專欄>| <波克棋牌>| <斗牛棋牌>| <財經>| <天天棋牌>| <彩票>| <騰訊棋牌>| <天天樂棋牌>| <大神棋牌>| <斗牛棋牌>| <波克棋牌>| <天天樂棋牌>| <天天樂棋牌>| <波克棋牌>| <大富豪棋牌>| <財經>| 发财一码一肖公开验证