最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

提高編程技能的11個(gè)建議

 更新時(shí)間:2014年08月09日 19:15:44   投稿:mdxy-dxy  
當(dāng)你不熟悉編程的時(shí)候,你可能會(huì)覺(jué)得無(wú)從下手,并且不知道如何運(yùn)用學(xué)到的知識(shí)。只要你通過(guò)了這一困難的學(xué)習(xí)階段,你就會(huì)發(fā)現(xiàn)一個(gè)全新的世界

編程是非??岬囊患虑?,但是在酷炫的背后它對(duì)很多人來(lái)說(shuō)還是挺難的。很多人在學(xué)習(xí)編程之初就被困難擊敗了。

當(dāng)你不熟悉編程的時(shí)候,你可能會(huì)覺(jué)得無(wú)從下手,并且不知道如何運(yùn)用學(xué)到的知識(shí)。只要你通過(guò)了這一困難的學(xué)習(xí)階段,你就會(huì)發(fā)現(xiàn)一個(gè)全新的世界。

以下是一些能夠幫助你快速提高編程技巧的建議。

編程入門篇:

1.  多寫代碼

學(xué)習(xí)某件事情最好的辦法就是練習(xí)。你應(yīng)該花大量時(shí)間去構(gòu)建和編寫代碼除非你認(rèn)為練習(xí)對(duì)你的幫助不大。你可以從寫一些基礎(chǔ)知識(shí)相關(guān)的簡(jiǎn)單程序開始。

2.  參與不同類型的項(xiàng)目

當(dāng)你對(duì)某種開發(fā)語(yǔ)言非常熟悉之后,你應(yīng)該開始做一些正事了。這樣做能幫你對(duì)那種開發(fā)語(yǔ)言的性能有個(gè)全面的理解,同時(shí)也能推動(dòng)你去學(xué)習(xí)與這門語(yǔ)言相關(guān)的一些東西。過(guò)了段時(shí)間你會(huì)發(fā)現(xiàn)你經(jīng)常用類似的方法去解決類似的問(wèn)題,將很難從固有思維中跳出來(lái)去學(xué)習(xí)新的技能。

3.  精通一到兩門你使用的語(yǔ)言

讀一兩本關(guān)于這門語(yǔ)言的好書。重點(diǎn)掌握這門語(yǔ)言的先進(jìn)開發(fā)理論知識(shí),并且對(duì)它的核心和語(yǔ)言庫(kù)足夠了解。確保你所使用的語(yǔ)言中至少有一種腳本語(yǔ)言。


4.  開始閱讀


盡可能的多讀書。書能夠幫你系統(tǒng)的學(xué)習(xí)一門語(yǔ)言,并且能夠帶你了解這門語(yǔ)言的各個(gè)方面。對(duì)于初學(xué)者來(lái)說(shuō)更應(yīng)該多讀書。


5.  加入討論


當(dāng)和別人討論的時(shí)候,你會(huì)產(chǎn)生一些以前從未出現(xiàn)過(guò)的主意或者想法。在這個(gè)過(guò)程中,你能夠從別人那里學(xué)到很多,同時(shí)這也是一次機(jī)會(huì),通過(guò)分享你關(guān)于編程的看法檢查你到底對(duì)于這門語(yǔ)言掌握了多少。


6.  通讀公司內(nèi)部的技術(shù)和培訓(xùn)資料


比如說(shuō),谷歌有很多的代碼實(shí)驗(yàn)室,有著幾十年經(jīng)驗(yàn)的大牛們用各種語(yǔ)言寫出來(lái)的最好的實(shí)踐在實(shí)驗(yàn)室里用來(lái)做核心培訓(xùn)和高質(zhì)量的指導(dǎo)。如果你公司沒(méi)有類似的資源,谷歌的開源了一些他們的指南:https://code.google.com/p/google-styleguide/


7.  寫博客


當(dāng)你學(xué)習(xí)編程時(shí),你會(huì)遇到各種問(wèn)題,并且想盡辦法去解決它們。你可以在博客中記錄下你解決問(wèn)題的過(guò)程和你從中學(xué)到了什么。其它人看到你的文章后,也能從中獲益。同時(shí),你還能和志同道合的人交上朋友。


至于花在學(xué)習(xí)編程上的時(shí)間,剛開始你應(yīng)該擠出20%的個(gè)人時(shí)間致力于提高個(gè)人開發(fā)能力。如果可能的話,最好是每天一兩個(gè)小時(shí)而不是一個(gè)禮拜一天,因?yàn)檫@樣你能通過(guò)日常習(xí)慣去提高你的能力。最初的時(shí)候效果可能不明顯(當(dāng)然如果你因?yàn)樯暇W(wǎng)或者其他事情分心的話是沒(méi)效果的),但是這樣做的目的是讓你在長(zhǎng)期的編程學(xué)習(xí)中有更高的效率。

編程提高篇:

1.首先仔細(xì)分析問(wèn)題

2.接著好好想想如何解決這個(gè)問(wèn)題

3.收集整理所有需求。

花點(diǎn)時(shí)間將最終產(chǎn)品要實(shí)現(xiàn)的目標(biāo)寫下來(lái),并且明確哪些是我們的目標(biāo)用戶群。如果這一步能做好的話,將會(huì)給后面節(jié)約大量的時(shí)間,正所謂磨刀不誤砍柴工。

4.寫一個(gè)全面的實(shí)施計(jì)劃(或模型)。

如果是個(gè)小項(xiàng)目,這一步出來(lái)的可能只是一個(gè)基本的流程或者一個(gè)簡(jiǎn)單的等式。

如果是個(gè)比較大的項(xiàng)目,這一步有助于我們將它切割成幾個(gè)模塊,然后再按下面的問(wèn)題思考:

各個(gè)模塊需要執(zhí)行什么任務(wù)

模塊之間如何傳遞數(shù)據(jù)

如何調(diào)用模塊中的數(shù)據(jù)

雖然比起直接入手去寫代碼,收集和規(guī)劃需求又枯燥又無(wú)趣,但是如果這一點(diǎn)沒(méi)有做好,后面的調(diào)試工作就會(huì)特別繁瑣。如果我們能花點(diǎn)時(shí)間,設(shè)計(jì)出一個(gè)正確的程序流程和結(jié)構(gòu),那么我們其實(shí)在寫第一行代碼之前就相當(dāng)于已經(jīng)成功了一半。

5.注釋我們的代碼。

如果你認(rèn)為你的代碼可能需要做個(gè)解釋,那就去注釋它。每個(gè)函數(shù)都應(yīng)該提前一兩行就先描述一下它的參數(shù)和返回結(jié)果。比起告訴你what,注釋應(yīng)該說(shuō)明的是why。還有記得在更新代碼的時(shí)候也要更新注釋。

6.使用統(tǒng)一的命名規(guī)則定義變量。

這將有助于我們追蹤各個(gè)類型的變量,并且對(duì)每個(gè)變量的用途一目了然。這一條的好處可不僅僅是方便我們打X = A+ B * C這么簡(jiǎn)單,它會(huì)讓我們的代碼更便于調(diào)試和維護(hù)。目前普遍受歡迎的一種命名方法是匈牙利命名法,它采用的是類型前綴于變量的做法。例如,對(duì)于整體變量,我們可以使用intRowCounter,字符串就是strUserName。無(wú)論你的命名規(guī)則是什么都沒(méi)關(guān)系,只要保持一貫,并能簡(jiǎn)單描述變量就行。

7.格式化編輯代碼,代碼結(jié)構(gòu)可視化。

例如,碰到條件語(yǔ)句(if、else等)和循環(huán)語(yǔ)句(for、while等)縮進(jìn)代碼。還有,可以在變量名和運(yùn)算符號(hào)之間加個(gè)空格,運(yùn)算符號(hào)指的是“+”、 “-”、“*”、“/”,以及“=”(舉例,myVariable = 2 + 2)。這不但讓你的代碼更直觀更優(yōu)雅,還能使得我們的程序流程更加一目了然。

8.全面測(cè)試。

首先通過(guò)輸入我們期望的值來(lái)測(cè)試每個(gè)模塊能否獨(dú)立運(yùn)作。然后試著輸入一些可能但是很少見的值,繼續(xù)測(cè)試。這基本上能暴露所有隱藏的bug。測(cè)試也有所謂的技巧,通過(guò)練習(xí)和實(shí)踐,我們誰(shuí)都可以逐步建立起適合自己的技能。測(cè)試應(yīng)包含下列情況:

極端值:正值用0和大于預(yù)期的最大值;文本用空字符串,參數(shù)用null。

無(wú)意義的值。雖然用戶不大可能會(huì)輸入亂碼,但是我們自己無(wú)論如何先測(cè)試一下為好。

不正確的值。在除法中輸入0,或者在預(yù)期是正數(shù)以及開平方根的情況下輸個(gè)負(fù)數(shù)。當(dāng)輸入類型是一個(gè)字符串的時(shí)候,輸入非數(shù)字,然后看看是否會(huì)被解析為數(shù)字值。

9.練習(xí)、練習(xí)、還是練習(xí)。

編程也會(huì)隨著時(shí)代的前行而不斷進(jìn)步。所以總有新的東西需要我們學(xué)習(xí),——甚至更加有用、更加重要——當(dāng)然,也總有一些內(nèi)容值得我們溫故而知新。

10.減少需求改變的風(fēng)險(xiǎn)。

在現(xiàn)實(shí)的工作環(huán)境中,需求總是在不斷變化的。然而,如果前期我們對(duì)需求收集得非常全面,一開始的實(shí)施計(jì)劃就很有針對(duì)性,那么后期因需求改變導(dǎo)致的計(jì)劃不周和雙方產(chǎn)生誤會(huì)的可能性就會(huì)小得多。

我們可以在開始寫代碼之前,通過(guò)展示需求文檔和實(shí)施計(jì)劃,以提高進(jìn)程的清晰度。這將有助于確保我們的計(jì)劃是真正按照客戶的要求去完成的。

如果將項(xiàng)目比作是一系列的里程碑,那么一次只要完成一個(gè)就可以了。記住,在任何特定的時(shí)刻需要考慮的東西越少,那么我們想得就越詳盡越完美。

11.由易到難,從簡(jiǎn)入繁。

如果你的軟件復(fù)雜,那么我建議你最好先從簡(jiǎn)單的模塊入手。例如,有這樣一個(gè)項(xiàng)目:請(qǐng)?jiān)O(shè)計(jì)一個(gè)程序,要求能出現(xiàn)一個(gè)跟著鼠標(biāo)方向走的漸變圖形,并且還能根據(jù)鼠標(biāo)滑動(dòng)速度改變形狀。

首先,設(shè)計(jì)一個(gè)正方形,寫一段能做到讓它跟隨鼠標(biāo)的代碼,這樣就把運(yùn)動(dòng)追蹤問(wèn)題先單獨(dú)拎出來(lái)解決掉了。當(dāng)然這才是第一步。

接下來(lái),將這個(gè)正方形的大小與鼠標(biāo)的速度相關(guān)聯(lián),即解決了形狀隨速度而變的問(wèn)題。

最后,創(chuàng)建你想要的實(shí)際形狀,并把這三個(gè)組件連接在一起即可。

運(yùn)用這種方法自然而然地就編寫出來(lái)了模塊化的代碼。并且每個(gè)組件都有它自己獨(dú)立的功能。這對(duì)代碼重用是非常有用的(例如,你完全可以在其他項(xiàng)目中應(yīng)用第一步驟(用于實(shí)現(xiàn)鼠標(biāo)跟蹤)的代碼),并讓我們的程序更容易調(diào)試和維護(hù)。

相關(guān)文章

  • 教你編寫 Pipeline 腳本的方法

    教你編寫 Pipeline 腳本的方法

    Pipeline 編寫較為麻煩,為此,DataKit 中內(nèi)置了簡(jiǎn)單的調(diào)試工具,用以輔助大家來(lái)編寫 Pipeline 腳本,這篇文章主要介紹了如何編寫 Pipeline 腳本,需要的朋友可以參考下
    2022-10-10
  • 低版本VS項(xiàng)目在VS2019無(wú)法正常編譯的問(wèn)題

    低版本VS項(xiàng)目在VS2019無(wú)法正常編譯的問(wèn)題

    這篇文章主要介紹了低版本VS項(xiàng)目在VS2019無(wú)法正常編譯的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Http與https對(duì)比詳細(xì)介紹

    Http與https對(duì)比詳細(xì)介紹

    這篇文章主要介紹了Http與https對(duì)比詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Objective-C 動(dòng)態(tài)調(diào)用NSInvocation 的方法

    Objective-C 動(dòng)態(tài)調(diào)用NSInvocation 的方法

    NSInvocation是Objective-C編程中一個(gè)強(qiáng)大的特性,它允許開發(fā)者在運(yùn)行時(shí)動(dòng)態(tài)地調(diào)用方法,本文詳細(xì)介紹了如何使用NSInvocation來(lái)獲取方法的選擇器、創(chuàng)建實(shí)例、設(shè)置目標(biāo)對(duì)象和方法參數(shù),并執(zhí)行方法,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • 為什么使用框架 使用框架的優(yōu)缺點(diǎn)

    為什么使用框架 使用框架的優(yōu)缺點(diǎn)

    我們是由于效率和易用性的考慮才產(chǎn)生框架??蚣苣芄?jié)省開發(fā)時(shí)間??蚣軓?qiáng)制使用公共的約定,因此它能有效地解決一些共有的問(wèn)題,比如頁(yè)面渲染,assert判斷,安全或者應(yīng)用配置等
    2012-09-09
  • Visual Studio和Visual Studio Code之間有什么區(qū)別

    Visual Studio和Visual Studio Code之間有什么區(qū)別

    本文給大家介紹的是Visual Studio和Visual Studio Code之間有什么區(qū)別,希望對(duì)大家的學(xué)習(xí)能夠有所幫助
    2020-02-02
  • Matlab操作HDF5文件示例

    Matlab操作HDF5文件示例

    這篇文章主要為大家介紹了Matlab操作HDF5文件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • MAC系統(tǒng)IDEA顏值插件MaterialThemeUI

    MAC系統(tǒng)IDEA顏值插件MaterialThemeUI

    俗話說(shuō),工欲善其事必先利其器。工具的顏值也很重要,好的主題讓人賞心悅目,有碼代碼的欲望。今天推薦一個(gè)IDEA顏值類插件:Material Theme UI
    2021-09-09
  • WebSocket部署到服務(wù)器出現(xiàn)連接失敗問(wèn)題的分析與解決

    WebSocket部署到服務(wù)器出現(xiàn)連接失敗問(wèn)題的分析與解決

    這篇文章主要給大家介紹了關(guān)于WebSocket部署到服務(wù)器出現(xiàn)連接失敗問(wèn)題的分析與解決方法,文中給出了詳細(xì)的介紹供大家參考學(xué)習(xí),文末也給出了demo下載地址,需要的朋友們可以下載學(xué)習(xí),下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • Mac M1安裝Homebrew的方法步驟

    Mac M1安裝Homebrew的方法步驟

    這篇文章主要介紹了Mac M1安裝Homebrew的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論

施秉县| 广东省| 杨浦区| 安多县| 汨罗市| 兴城市| 喀喇| 肇州县| 南阳市| 扎兰屯市| 疏附县| 吴忠市| 峨眉山市| 太保市| 岗巴县| 澳门| 柏乡县| 新巴尔虎左旗| 海城市| 新河县| 察雅县| 大悟县| 彭水| 乌什县| 昌都县| 盘山县| 大庆市| 离岛区| 宁夏| 花莲市| 昭苏县| 河间市| 金阳县| 莲花县| 庆阳市| 宁化县| 芦山县| 灵山县| 雅安市| 汽车| 法库县|