在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

程序員的基本功有哪些

工程師人生 ? 來源:工程師吳畏 ? 2018-12-28 14:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

記得來TW之前看到過一個論壇上有人對TW的一條評價:這是一個奇怪的公司,非常強調代碼風格。

現(xiàn)在已經(jīng)在TW工作半年多了,回想起這句話,發(fā)現(xiàn)自己已經(jīng)完全融入到這種“奇怪的”代碼風格了。簡言之,就是要把程序寫的清晰易懂,易維護。具體如何達到這種目的??梢詤⒖聪旅鎡houghtworks文集中的一篇,對象健身操,中所闡述的“編程規(guī)范”。

方法只使用一級縮進

拒絕else關鍵字

封裝所有的原生類型和字符串

一行代碼只有一個“。”運算符

不要使用縮寫

保持實體對象簡單清晰

任何類中的實例變量都不要超過兩個

使用一流的集合

不使用任何Getter/Setter/Property

以上的這些標題如果感覺不是很能表意,不妨去網(wǎng)上搜下或者買本thoughtworks文集看看。其中第一條中的具體內容提到“把函數(shù)控制在5行”。其他條目中也有一些具體的“變態(tài)的”要求。

我在開頭把“編程規(guī)范”打上引號的意思是:這不是真正要嚴格遵守的規(guī)范,而是一個方向。以此為方向寫出來的程序能夠在一定程度上符合前面提到的“清晰易懂,易維護”。我一直認為,標準一定是要定高一些的,這樣即使不能完全達到標準的要求,也會為此為努力。比如你的標準是60分,你可以輕松的達到而自我滿足;而我的標準是101分,雖然永遠都達不到,可是我可以保持在饑餓的狀態(tài),從而不斷的進步。

工作的前4,5個月,大部分時候寫的是一些新代碼??梢蚤_心的按照上述的原則去編碼。事實上寫出來的代碼也能夠讓自己覺得滿意:短方法,表意的名字,測試,清晰簡單的結構。并且感覺現(xiàn)代IDE對這種代碼風格也是比較支持的。直到從TWU回來,回到原來的項目。項目進入support階段。其實就是給人家修修bug。關鍵這些bug不是我們之前做的新功能引入的,而是他們的陳年老bug,兩三年前的都有。所以這個階段寫的新代碼少,多數(shù)是先讀懂之前的代碼,然后做少許修改。不得不說看這些老代碼看起來真是恨痛苦,很慢。很多超過一屏甚至兩屏的長函數(shù),在我們24寸的大顯示器下。

在抱怨老代碼寫的像一坨的同時,突然覺得,還是自己看代碼的能力有欠缺。一直工作在相對來說比較簡單易懂的代碼庫上,然后去看這些一坨的代碼就好像一個人很整潔很愛衛(wèi)生的人突然被扔到垃圾堆里,異常難受。而對于常年在垃圾堆里生活的人們早已久聞不覺其臭,甚至還對垃圾堆中的那些病菌產生了抗體。世界沒有那么美好,工作中總是會遇到不盡如人意的代碼庫,無論是做交付還是做咨詢。所以除了要有寫出清晰漂亮代碼的能力外,還要有讀復雜,凌亂的代碼的能力和改造復雜凌亂代碼的能力,也就是我們常說的重構。

復雜代碼可以分成兩種:

一種是受到語言,平臺,庫的限制,使得代碼無法寫的非常簡短和易懂。比如使用純c,沒有很好的語言特性和可用的sdk,使得實現(xiàn)復雜邏輯的時候不可避免的要寫出很長很復雜的代碼。有時短的代碼也不一定清楚,比如在代碼中大量使用組合表達式或者是位運算符,在讓代碼變短的同時,變得更難懂。這些時候通常是處于效率的考慮。

一種是我們有了更高級的語言和其上的大量的框架。如java+spring+struts+hibernate,或者是直接用Ruby on rails,Django等更易用的工具。通常在這些框架下寫程序,是很容易遵循上面提到的讓程序清晰簡單的原則的。如果在這樣的基礎上寫出了讓人摸不著頭腦的代碼,那就完全是程序員的責任了。

現(xiàn)在有種感覺,在層層疊疊的框架下寫程序,就像是搭積木,越來越簡單。底層封裝的越來越嚴實,程序員都像白癡一樣機械的在框架中填寫你想實現(xiàn)的業(yè)務邏輯。發(fā)明框架的原因是為了讓程序員不再重新創(chuàng)造輪子。但是長期在框架上工作的結果是,大家都不會做輪子了,真正有一天需要你做點不太一樣的輪子的時候,就sb了。

程序員寫代碼的能力是凌駕于語言之上的,是思考問題,抽象問題和用另外一種語言簡潔,有效,清晰地描述問題的能力。我相信一個能寫出優(yōu)秀c代碼的人通過一段時間對java及其上的一些框架的學習,也能寫出優(yōu)秀的java代碼。

目前我正在學習各種各樣的框架,平時的工作也是在這些框架上工作,越來越感覺,學習這些新知識的同時,做為一個程序員的基本功也不能放下。框架是很好的東西,在提高生產力方面,但是框架讓寫程序變得簡單的同時也會降低對程序員的要求,久而久之,基本功就被荒廢了。如何鍛煉這些基本功?個人認為用最簡單的語言,如c,去做一些算法題是一個不錯的主意;或者不甘做玩積木的小孩兒,看看框架的源碼。其實做為一個計算機專業(yè)的學生,這些鍛煉應該是當學生的時候都好好練習過的東西。如果現(xiàn)在發(fā)現(xiàn)有所欠缺了,就趕緊補補吧。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 程序員
    +關注

    關注

    4

    文章

    954

    瀏覽量

    30331
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    程序設計與數(shù)據(jù)結構

    的地址)出發(fā),采用推導的方式,深入淺出的分析了廣大C程序員學習和開發(fā)中遇到的難點。 2. 從方法論的高度對C語言在數(shù)據(jù)結構和算法方面的應用進行了深入講解和闡述。 3. 講解了絕大多數(shù)C程序員開發(fā)
    發(fā)表于 05-13 16:45

    阿里云升級通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發(fā)者帶來更為強大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實現(xiàn)了全面升級?,F(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?688次閱讀

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補充.pdf》資料免費下載
    發(fā)表于 12-21 11:36 ?3次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補充

    UCD3138A64/UCD3138128程序員手冊

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    機械革命發(fā)布CODE AI程序員

    近日,英特爾新質生產力技術生態(tài)大會在成都舉行,機械革命作為重要參展商帶來了多款明星產品引爆全場!其中更是在AI PC軟件生態(tài)產品發(fā)布分論壇上,Intel、智譜、機械革命三方聯(lián)合發(fā)布了專為程序員設計的CODE AI程序員本,成為本次大會的一大亮點。
    的頭像 發(fā)表于 11-30 10:34 ?1070次閱讀

    Linux驅動程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅動程序程序員指南.pdf》資料免費下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識應對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?511次閱讀

    軟通動力子公司鴻湖萬聯(lián)助陣鴻蒙1024程序員節(jié)成功舉辦

    10月24日,在武漢、成都、深圳等地政府指導下,鴻蒙生態(tài)服務公司舉辦了一場面向廣大開發(fā)者的盛會——鴻蒙1024程序員節(jié)暨鴻蒙原生應用交流會。軟通動力子公司鴻湖萬聯(lián)作為開源鴻蒙生態(tài)的重要參與者和貢獻者
    的頭像 發(fā)表于 10-29 15:49 ?728次閱讀
    軟通動力子公司鴻湖萬聯(lián)助陣鴻蒙1024<b class='flag-5'>程序員</b>節(jié)成功舉辦

    第五屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應用新生態(tài)”為主題。設置岳麓對話、技術英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發(fā)表于 10-25 15:42 ?469次閱讀

    京東上萬程序員都AI用它!

    對大模型生成代碼進行智能修復,為程序員開啟代碼漏洞修復的“自動駕駛”模式,不但減少人工接入、提高工作效率,更為企業(yè)抵御內外部各種攻擊構建起一道堅固的安全屏障,確保業(yè)務的連續(xù)性和穩(wěn)定性。 JoyCoder是京東云自主研發(fā)的一款輔助開發(fā)人員
    的頭像 發(fā)表于 07-17 16:29 ?476次閱讀
    京東上萬<b class='flag-5'>程序員</b>都AI用它!

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    助力程序員告別困擾已久的夢魘-Bug

    程序員的噩夢是什么?不用懷疑,就是讓你加班到崩潰的Bug!下面是經(jīng)過業(yè)界大佬們“長期加班”積累的小妙招,助力你離早下班又進一步~一、定位Bug范圍及性質要有效解決問題,首先要縮小范圍,集中關注最近
    的頭像 發(fā)表于 07-02 08:10 ?688次閱讀
    助力<b class='flag-5'>程序員</b>告別困擾已久的夢魘-Bug

    數(shù)控程序編程通??煞譃槟膬纱箢?/a>

    編程的定義 手工編程是指數(shù)控程序員根據(jù)零件的加工要求和機床的性能,通過人工編寫數(shù)控程序的過程。手工編程是一種傳統(tǒng)的編程方式,它要求程序員具備豐富的經(jīng)驗和熟練的編程技巧。 手工編程的特點 (1)靈活性高:手工編程可
    的頭像 發(fā)表于 07-01 14:17 ?2179次閱讀
    主站蜘蛛池模板: 性夜影院午夜看片 | 亚洲欧美在线精品一区二区 | 男人午夜禁片在线观看 | 人人草97 | 天堂中文在线最新版地址 | 大象焦伊人久久综合网色视 | 免费国产不卡午夜福在线 | 欧美成人综合在线 | 婷婷色影院 | 四虎hu| 天天干小说| 最近2018中文字幕免费看在线 | 欧美成人精品一区二区 | 5252欧美在线观看 | 手机看片1024手机在线观看 | 五月天婷婷亚洲 | 欧美成人天天综合在线视色 | 黄色国产视频 | 97视频人人| 爽好舒服快受不了了老师 | 婷婷色九月综合激情丁香 | 久久久噜噜噜www成人网 | 婷婷狠狠 | 91在线网址 | 九九re热 | 国产你懂的在线观看 | 四虎国产精品影库永久免费 | 日本韩国三级视频 | 国产亚洲欧美成人久久片 | 国模私拍一区二区 | 你懂的网站在线 | 亚洲1卡二卡3卡四卡不卡 | 国产手机在线看片 | 香港午夜理理伦_级毛片 | 911精品国产91久久久久 | 黄色在线播放网址 | 毛片小视频 | 亚洲日韩色综合视频 | 亚洲天堂免费看 | 亚洲成人综合在线 | 免费任我爽橹视频在线观看 |