日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747


有哪些新手程序員不知道的小技巧?

 

在編寫代碼中有許多技巧,有的是程序語(yǔ)言實(shí)現(xiàn)層面的,有的是算法和數(shù)據(jù)結(jié)構(gòu)方面的,類似的文章在網(wǎng)上已經(jīng)有非常詳細(xì)的說(shuō)明了,本文打算從另一個(gè)比較抽象的角度來(lái)聊聊有哪些新手程序員不知道的小技巧,有了這些技巧會(huì)讓你在日常寫代碼的過(guò)程中如虎添翼,提升工作效率。

 

 

思維層面

有哪些新手程序員不知道的小技巧?

 

假設(shè)我們要做一個(gè)課程設(shè)計(jì),對(duì)于稍微有一些編程基礎(chǔ)的同學(xué)來(lái)說(shuō)可能一上來(lái)就寫代碼,然后反復(fù)修改。而學(xué)習(xí)軟件工程的課程之后可能會(huì)考慮先做一個(gè)需求分析,新手可能會(huì)陷入比較混亂的思路中。所以在構(gòu)思一個(gè)問(wèn)題時(shí),可以考慮從最大的幾個(gè)方面出發(fā),等大確定之后并記錄下來(lái),再一個(gè)個(gè)慢慢展開(kāi)。比如一個(gè)常見(jiàn)的需求:寫一個(gè) xx 管理系統(tǒng),如果思路是:用戶管理 -> 用戶數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì) -> CRUD 邏輯 -> 界面 -> 功能分析 的話,很快就會(huì)陷入混亂,但是如果思路改變一下,如下:

  • 用戶管理
  • 用戶數(shù)據(jù)庫(kù)結(jié)構(gòu)
  • 用戶相關(guān) CRUD 邏輯
  • 功能設(shè)計(jì)
  • xx 功能
  • yy 功能
  • 對(duì)應(yīng)功能的 CRUD 邏輯
  • 功能相關(guān)的數(shù)據(jù)庫(kù)結(jié)構(gòu)

這樣對(duì)于問(wèn)題的分析就會(huì)清晰很多,實(shí)現(xiàn)起來(lái)也更加不容易遇到問(wèn)題。

 

 

看官方文檔

 

有哪些新手程序員不知道的小技巧?

 

一些語(yǔ)言/工具的官方文檔可能是純英文的,對(duì)于英文不是非常好的程序員來(lái)說(shuō)第一眼看上去不是非常友好,但是作為相關(guān)工具的開(kāi)發(fā)者,其官方文檔的維護(hù)者勢(shì)必是最為了解對(duì)應(yīng)產(chǎn)品的人,加上一般我們能看到對(duì)應(yīng)文檔的工具都是開(kāi)源的,在有官方背景情況下的文檔一定相比一些 xx 知道,xx 博客等有更加好的入門能力,且能涉及到一些大家博客中難以涉及到的一些比較小的細(xì)節(jié)。

如果英語(yǔ)水平不好的話,一定要花功夫提升自己的英語(yǔ)水平,這樣可以非常有效地?cái)U(kuò)展自己的知識(shí)面。

 

 

學(xué)會(huì)調(diào)試

 

有哪些新手程序員不知道的小技巧?

 

這里說(shuō)的調(diào)試不是在 "合適的位置" 寫一個(gè) print 語(yǔ)句判斷一下某個(gè)變量對(duì)不對(duì),而是對(duì)于代碼的調(diào)試。包括但不限于對(duì)性能不夠的地方進(jìn)行測(cè)試和調(diào)優(yōu),對(duì)于代碼性能的分析被稱為——profiling。

profiling 工具 vs 和 gcc 都有,gcc 下的叫 gprof ,功能都是通過(guò)檢測(cè)堆棧采樣每個(gè)函數(shù)的 cpu 時(shí)間,統(tǒng)計(jì)代碼熱點(diǎn),方便程序員有針對(duì)性的優(yōu)化代碼。

進(jìn)行代碼調(diào)試,如果自己的代碼具有模塊性能提升調(diào)試的效率,模塊間注意去掉循環(huán)依賴,這樣所有模塊會(huì)自然分層,遇到問(wèn)題的時(shí)候可以一層一層往下調(diào)試,對(duì)于調(diào)試而言,建議如下:

訓(xùn)練可以這樣。寫一個(gè)稍微有點(diǎn)規(guī)模的項(xiàng)目,大于 2000 行代碼的那種,然后嘗試把它分成小模塊,每個(gè)模塊一個(gè)文件,每個(gè)文件不超過(guò) 300 行(或者 500 行,有的語(yǔ)言可能本身更啰嗦一點(diǎn)),每行不超過(guò) 80 個(gè)字符。每個(gè)模塊盡量只做一件小事情。注意讓模塊之間沒(méi)有循環(huán)依賴。給每個(gè)模塊寫單元測(cè)試。然后,寫出來(lái)這個(gè) project 之后,把模塊之間的依賴關(guān)系畫個(gè)圖(像這個(gè):Go standard library DAG visualization),拿著這個(gè)圖給你的一個(gè)(同樣高數(shù)沒(méi)有問(wèn)題的)朋友看,讓他參照著這個(gè)圖去讀你的源代碼,看他能不能讀懂你的代碼要做什么,是怎么做的。如果他能讀懂,說(shuō)明你模塊分得非常好。如果他讀不懂,可以具體看他讀哪個(gè)模塊讀不懂了,研究一下有沒(méi)有更好的模塊化方式或者寫法。——如何高效地增強(qiáng)編程(特別是debug)能力? - h8liu

 

分享到:
標(biāo)簽:程序員
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定