日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

程序員的基本功有哪些

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

掃碼添加小助手

加入工程師交流群

記得來TW之前看到過一個(gè)論壇上有人對(duì)TW的一條評(píng)價(jià):這是一個(gè)奇怪的公司,非常強(qiáng)調(diào)代碼風(fēng)格。

現(xiàn)在已經(jīng)在TW工作半年多了,回想起這句話,發(fā)現(xiàn)自己已經(jīng)完全融入到這種“奇怪的”代碼風(fēng)格了。簡(jiǎn)言之,就是要把程序?qū)懙那逦锥拙S護(hù)。具體如何達(dá)到這種目的。可以參看下面thoughtworks文集中的一篇,對(duì)象健身操,中所闡述的“編程規(guī)范”。

方法只使用一級(jí)縮進(jìn)

拒絕else關(guān)鍵字

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

一行代碼只有一個(gè)“。”運(yùn)算符

不要使用縮寫

保持實(shí)體對(duì)象簡(jiǎn)單清晰

任何類中的實(shí)例變量都不要超過兩個(gè)

使用一流的集合

不使用任何Getter/Setter/Property

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

我在開頭把“編程規(guī)范”打上引號(hào)的意思是:這不是真正要嚴(yán)格遵守的規(guī)范,而是一個(gè)方向。以此為方向?qū)懗鰜淼某绦蚰軌蛟谝欢ǔ潭壬戏锨懊嫣岬降摹扒逦锥拙S護(hù)”。我一直認(rèn)為,標(biāo)準(zhǔn)一定是要定高一些的,這樣即使不能完全達(dá)到標(biāo)準(zhǔn)的要求,也會(huì)為此為努力。比如你的標(biāo)準(zhǔn)是60分,你可以輕松的達(dá)到而自我滿足;而我的標(biāo)準(zhǔn)是101分,雖然永遠(yuǎn)都達(dá)不到,可是我可以保持在饑餓的狀態(tài),從而不斷的進(jìn)步。

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

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

復(fù)雜代碼可以分成兩種:

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

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

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

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

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

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

    關(guān)注

    4

    文章

    956

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    M哥-Linux云計(jì)算SRE工程師-2025

    跨越技術(shù)周期底部:精通Linux云計(jì)算SRE,重塑程序員“雙向增收”的底層邏輯 在當(dāng)前的技術(shù)宏觀語境下,程序員群體正面臨著一種深刻的結(jié)構(gòu)性撕裂。以CRUD(增刪改查)為核心的業(yè)務(wù)開發(fā)崗位,隨著低代碼
    的頭像 發(fā)表于 05-07 16:47 ?102次閱讀

    入門神器 | 尚硅谷51單片機(jī)視頻教程

    在軟件工程日益復(fù)雜的今天,許多程序員習(xí)慣于在操作系統(tǒng)搭建的抽象沙箱中工作,通過高級(jí)語言與計(jì)算機(jī)交互。然而,代碼的終極執(zhí)行離不開物理硬件的支持。如果對(duì)底層硬件原理一無所知,開發(fā)者在面對(duì)極端的性能優(yōu)化
    發(fā)表于 05-01 17:34

    GNSS分器:多設(shè)備共享衛(wèi)星信號(hào)的“信號(hào)橋梁”,北斗分器,gps分器

    一、GNSS分器:從技術(shù)原理到核心價(jià)值** GNSS分器,全稱為“全球?qū)Ш叫l(wèi)星系統(tǒng)信號(hào)功率分配器”,其核心功能是將單根室外GNSS天線接收的衛(wèi)星信號(hào),均勻、低損耗地分配給多臺(tái)GNSS接收設(shè)備
    的頭像 發(fā)表于 01-29 16:51 ?748次閱讀

    堆棧的原理揭秘

    百度百科試圖傳遞的信息翻譯為人話: 2. 為什么需要堆棧?首先,為什么需要堆棧?真的是搞計(jì)算機(jī)的那幫宅男吃飽了撐的嗎? 【編者注:必須不是!魯迅曾經(jīng)說過:“不想偷懶的程序員不是好程序員”,就算是吃
    發(fā)表于 01-23 07:08

    芯盾時(shí)代SDP助力企業(yè)應(yīng)對(duì)核心機(jī)密泄露危機(jī)

    無論你是程序員、文案、財(cái)務(wù),無論你想擼代碼、出海報(bào)、做報(bào)表,各式各樣的AI總能滿足你的需求,讓你的工作更加輕松。
    的頭像 發(fā)表于 12-26 11:49 ?871次閱讀

    大理的AI野心藏不住了——風(fēng)花雪月中千名程序員探討人工智能

    2025 年12月4日至6日第二屆CCF程序員大會(huì)暨大理人工智能與應(yīng)用國(guó)際開發(fā)者大會(huì)在大理圓滿落幕。
    的頭像 發(fā)表于 12-24 17:45 ?931次閱讀
    大理的AI野心藏不住了——風(fēng)花雪月中千名<b class='flag-5'>程序員</b>探討人工智能

    程序員最常見謊言

    了。 28我已經(jīng)測(cè)試過了,這個(gè)功能沒問題,可以上線了。 29別擔(dān)心,這個(gè)問題很快就能解決。 30代碼快寫完了,已經(jīng)完成 90% 了 。 希望大家對(duì)程序員多一些容忍以及諒解! 各位程序員你們都被我說中了哪些?說說你們的觀點(diǎn)
    發(fā)表于 12-10 08:24

    堆和棧的區(qū)別

    程序員分配釋放, 若程序員不釋放,程序結(jié)束時(shí)可能由OS回收 。注意它與數(shù)據(jù)結(jié)構(gòu)中的堆是兩回事,分配方式倒是類似于鏈表,呵呵。
    的頭像 發(fā)表于 11-27 18:13 ?1265次閱讀

    裸機(jī)方式的缺點(diǎn)哪些

    進(jìn)行的: 應(yīng)用程序程序員必須確保數(shù)據(jù)一致性。 超級(jí)循環(huán)可以與系統(tǒng)計(jì)時(shí)器輕松同步,但: 如果系統(tǒng)需要多種不同的周期時(shí)間,則會(huì)很難實(shí)現(xiàn)。 超過超級(jí)循環(huán)周期的耗時(shí)函數(shù)需要做拆分。 增加軟件開銷,應(yīng)用程序難以
    發(fā)表于 11-17 06:11

    軟通國(guó)際亮相2025沙中開源與AI科技峰會(huì)

    2025年11月11日,由沙特程序員協(xié)會(huì)(parmg)主辦的"2025沙中開源與AI科技峰會(huì)"在利雅得盛大啟幕。
    的頭像 發(fā)表于 11-14 17:45 ?1620次閱讀

    奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動(dòng)圓滿收官

    1024程序員日”系列活動(dòng)至此劃上了一個(gè)圓滿句號(hào)。本屆1024程序員節(jié)以“AI構(gòu)建世界,智能引領(lǐng)未來”為主題,廣邀技術(shù)大咖、產(chǎn)業(yè)領(lǐng)袖、企業(yè)代表與全球開發(fā)者齊聚星城
    的頭像 發(fā)表于 10-27 18:59 ?993次閱讀
    奔赴熱AI,碼力全開!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動(dòng)圓滿收官

    開鴻智谷“以賽促學(xué)、以賽選才”|1024程序員節(jié)暨開源鴻蒙構(gòu)建大會(huì)圓滿落幕!

    10月24日,由開鴻智谷聯(lián)合主辦的長(zhǎng)沙1024程序員節(jié)暨開源鴻蒙構(gòu)建大會(huì)在長(zhǎng)沙圓滿落幕。本次活動(dòng)以“湘聚長(zhǎng)沙,共赴熱AI”為主題,通過技術(shù)分享與實(shí)戰(zhàn)競(jìng)賽相結(jié)合的方式,著力培養(yǎng)“開源鴻蒙+AI”領(lǐng)域
    的頭像 發(fā)表于 10-27 17:58 ?898次閱讀
    開鴻智谷“以賽促學(xué)、以賽選才”|1024<b class='flag-5'>程序員</b>節(jié)暨開源鴻蒙構(gòu)建大會(huì)圓滿落幕!

    飛凌嵌入式ElfBoard-常用編輯器之Vim編輯器

    環(huán)境做開發(fā),windows界面軟件使用習(xí)慣的程序員不怎么友好,所以,也可以使用gedit文本編輯器,gedit類似windows的寫字板程序,友好的圖形界面。對(duì)于不經(jīng)常在Linux
    發(fā)表于 10-13 08:47

    無法在調(diào)試中連接到PSOC4怎么解決?

    您好,我一塊使用 PSOC4 CY8C4013SXI-410 制作的小板。非常簡(jiǎn)單的設(shè)備,它只有三個(gè) GPIO 引腳并通過 5 引腳 SWD 進(jìn)行編程。我遇到的問題是程序員能夠看到該設(shè)備但無法對(duì)其進(jìn)行編程。
    發(fā)表于 07-22 06:02

    程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)

    的地址)出發(fā),采用推導(dǎo)的方式,深入淺出的分析了廣大C程序員學(xué)習(xí)和開發(fā)中遇到的難點(diǎn)。 2. 從方法論的高度對(duì)C語言在數(shù)據(jù)結(jié)構(gòu)和算法方面的應(yīng)用進(jìn)行了深入講解和闡述。 3. 講解了絕大多數(shù)C程序員開發(fā)
    發(fā)表于 05-13 16:45
    墨玉县| 澄迈县| 定安县| 永安市| 黄龙县| 延川县| 漠河县| 临海市| 宜丰县| 平度市| 清河县| 岳阳县| 黔东| 北票市| 南木林县| 汝州市| 襄樊市| 崇明县| 隆安县| 石首市| 通州区| 六枝特区| 昌宁县| 应城市| 林西县| 宝鸡市| 开封市| 宝鸡市| 延川县| 太湖县| 密山市| 蛟河市| 江安县| 台江县| 惠东县| 环江| 襄樊市| 韶关市| 高台县| 阜平县| 西宁市|