<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Java編程中,有哪些好的習(xí)慣從一開始就值得堅(jiān)持?

          共 3430字,需瀏覽 7分鐘

           ·

          2020-09-14 20:31

          來源:http://suo.im/6hkamo



          1. 規(guī)范化自己的代碼,少點(diǎn)個(gè)人風(fēng)格,多點(diǎn)通用規(guī)矩,并學(xué)會(huì)使用CheckStyle工具。


          其實(shí)任何東西我們都希望它能夠“自動(dòng)化”,隨著編程經(jīng)驗(yàn)的提升,大部分編程規(guī)范你已經(jīng)了然于心,但是實(shí)際操作的時(shí)候,又總是忘這忘那,我們希望一個(gè)工具來幫我們自動(dòng)檢測(cè)我們的程序是否是符合規(guī)范,結(jié)構(gòu)良好的。


          事實(shí)上,任何語言都是有自己的編程規(guī)范的,編程規(guī)范的制定,十分有利于代碼的閱讀和潛在Bug風(fēng)險(xiǎn)的降低,比如在Java中,有嚴(yán)格的命名規(guī)范:


          對(duì)于類(Class)的命名,有這樣的規(guī)范:


          Class names should be nouns, in mixed case with the first letter of each internal word capitalized. Try to keep your class names simple and descriptive. Use whole words-avoid acronyms and abbreviations (unless the abbreviation is much more widely used than the long form, such as URL or HTML).


          類的名字必須是名詞,每個(gè)單詞的第一個(gè)字母需大寫。盡可能讓你的類名稱簡(jiǎn)潔又能傳遞清楚含義。盡量使用單詞全拼,避免同義詞或縮寫(除非縮寫使用更廣泛,比如URL, HTML等)。


          比如在Java中,有嚴(yán)格的文檔規(guī)范:


          /**
          * Returns an Image object that can then be painted on the screen.
          * The url argument must specify an absolute {@link?URL}. The name
          * argument is a specifier that is relative to the url argument.
          *


          * This method always returns immediately, whether or not the
          * image exists. When this applet attempts to draw the image on
          * the screen, the data will be loaded. The graphics primitives
          * that draw the image will incrementally paint on the screen.
          *
          *?@param??url ?an absolute URL giving the base location of the image
          *?@param??name the location of the image, relative to the url argument
          *?@return?? ? ?the image at the specified URL
          *?@see?? ? ? ? Image
          */
          public?Image getImage(URL url, String name) {
          ? ? ? ?try?{
          ? ? ? ? ? ?return?getImage(new?URL(url, name));
          ? ? ? ?}?catch?(MalformedURLException e) {
          ? ? ? ? ? ?return?null;
          ? ? ? ?}
          }


          文檔是用HTML語言寫成的,前半部分是關(guān)于當(dāng)前方法或類的描述,后面需要有參數(shù)標(biāo)簽@param和返回標(biāo)簽@return,還可以加一些別的標(biāo)簽,比如@see,只有這樣,當(dāng)別人試圖引用你的程序時(shí),才能馬上明白你的某段程序是用來干嘛的,參數(shù)傳遞,返回等一目了然,要知道,實(shí)際工作中,大量的協(xié)作就意味著代碼需要高度的重用性,你必須把你的程序封裝完美,并且讓別人僅僅看你的文檔,就知道你的這個(gè)API怎么用。


          上面說的僅僅是編程規(guī)范的冰山一角了,問題是,你有時(shí)會(huì)忘掉或用錯(cuò)一些規(guī)范,即便你知道它。


          所以我們需要使用checkstyle插件去自動(dòng)檢測(cè)我們的程序是否符合規(guī)范。


          對(duì)于Java而言,詳情請(qǐng)見:

          http://checkstyle.sourceforge.net/


          Github地址:

          https://github.com/checkstyle/checkstyle


          在各大JavaIDE中,可以直接在Eclipse Marketplace中下載:



          其他的語言應(yīng)該也有自己的插件,可以自行谷歌了解。


          2. 寧可變量名長(zhǎng),也不要讓變量名短得讓人無法推測(cè)其含義。


          3. 在電腦里安裝兩套輸入法,編程的時(shí)候,將中文輸入法徹底關(guān)掉,確保任何快捷鍵都不會(huì)將其轉(zhuǎn)換成中文輸入法,防止中文類似符號(hào)引起混淆,比如:


          中文 :();English: () ;


          一點(diǎn)點(diǎn)小錯(cuò)誤,就有可能讓你多花一兩個(gè)小時(shí)在沒有意義的事上,人生苦短,盡量避免低級(jí)錯(cuò)誤。


          4. 盡可能杜絕重復(fù)代碼,凡是需要用至少兩次的代碼,給它單獨(dú)做一個(gè)類或函數(shù)。


          5. 避免類與類之間的內(nèi)部調(diào)用(Cycle Reference),其實(shí)也就是降低函數(shù)模塊的耦合程度。類與類之間的調(diào)用只允許通過接口,保證更改某個(gè)類的時(shí)候,其他的仍然能工作。


          6. 多讀別人的優(yōu)秀代碼,拿別人的優(yōu)秀代碼和自己的代碼進(jìn)行對(duì)比,學(xué)習(xí)別人的長(zhǎng)處,吸收經(jīng)驗(yàn)。


          7. 嘗試著做內(nèi)容的生產(chǎn)者,嘗試著寫一些教程或筆記,分享給社區(qū),不要只做社區(qū)內(nèi)容的吸收者,還要不斷地生產(chǎn)內(nèi)容,回饋社區(qū)給你的幫助,比如在StackOverFlow上回答別人的問題等。


          8. 既要腳踏實(shí)地,也要多看看社區(qū)發(fā)生了什么新聞,有什么新的技術(shù)和軟件的發(fā)布,這些技術(shù)和軟件將怎樣影響你的開發(fā)工作,現(xiàn)在使用的IDE或Editor是否有更好的替代產(chǎn)品等等。


          9. 沒有任務(wù)的時(shí)候,也不要閑下來,去開發(fā)點(diǎn)你喜歡的東西,從中挑戰(zhàn)自己,增長(zhǎng)經(jīng)驗(yàn)。


          10. 不要過分依賴教程,要學(xué)會(huì)看官方文檔。凡是能被做成教程的東西,往往已經(jīng)過時(shí)了,最新的技術(shù),最新發(fā)布的標(biāo)準(zhǔn),往往沒有現(xiàn)成的教程,你需要去認(rèn)真閱讀官方文檔,那里的東西才是最權(quán)威的。


          11. 不要參與語言好壞的爭(zhēng)論,人們往往偏向于喜歡自己用得熟練,用得多的那個(gè)語言,語言好壞之爭(zhēng),就和爭(zhēng)誰的女朋友漂亮一樣,我當(dāng)然覺得自己的女朋友(雖然是null)最漂亮,但是別人并不這么覺得。


          12. 當(dāng)你有什么需求的時(shí)候,往往別人也有這個(gè)需求,而且往往也有了相應(yīng)的工具去解決你這個(gè)需求,比如,你想將函數(shù)的調(diào)用關(guān)系可視化,弄成樹狀圖那樣,這樣的工具已經(jīng)有了,比如SourceInsight(付費(fèi)),Source Navigator(免費(fèi))等。


          13. 少在國(guó)內(nèi)的XX軟件園里下載各種破解軟件,盜版軟件等,這些軟件園為了盈利,會(huì)在你安裝的過程中,悄無聲息地給你安裝上一堆其他的流氓軟件,360首當(dāng)其沖,這些垃圾軟件,刪的越干凈越好。


          14. 你的開發(fā)電腦,CPU可以差些,但內(nèi)存最好大些,推薦至少要8G,甚至推薦10G往上走,你常常需要同時(shí)打開一堆瀏覽器頁面和一個(gè)IDE甚至還有別的一堆工具,如果你做過安卓開發(fā),AndroidStudio動(dòng)輒就調(diào)用你電腦2-3G的內(nèi)存,一般的4G電腦肯定是吃不消的,嚴(yán)重降低開發(fā)體驗(yàn),但也并不是讓你換電腦,內(nèi)存條了解一下。


          15. 保持一個(gè)健康,干凈的電腦狀態(tài),硬盤里的文件存儲(chǔ)要有調(diào)理,容易尋找指定文件,降低文件丟失概率,加快文件尋找速度。


          16. C盤快滿了的話,可以通過Disk Manager將別的磁盤的空間送給C盤。


          17. 用NetWork NotePad畫網(wǎng)絡(luò)圖表示函數(shù)調(diào)用關(guān)系(當(dāng)然你可以用別的來畫),像這樣:



          這是前兩天編一個(gè)FlappyBird時(shí)草草畫的圖,雖然簡(jiǎn)陋,但有用。


          18. 可以考慮用一個(gè)電腦架子,防止烏龜頸,保護(hù)頸椎。



          19. 下載一個(gè)護(hù)眼寶,保護(hù)視力。



          20. 多看Java團(tuán)長(zhǎng)公眾號(hào)里的文章,但不要做一個(gè)不點(diǎn)贊的冷漠青年。


          END
          好文讓朋友知道你“在看”
          瀏覽 78
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产乱伦免费观看 | 手机看片天天干 | 99自拍| 欧美射精视频 | 欧美老妇性猛交 |