<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>

          聊聊程序員的自我修養(yǎng)

          共 2761字,需瀏覽 6分鐘

           ·

          2022-08-04 09:39

          聊到程序員的自我修養(yǎng),不少同學(xué)可能會想到一本講述編譯與鏈接的書,這本書的名字也叫<<程序員的自我修養(yǎng)>>,是國人難得寫的比較不錯(cuò)的一本計(jì)算機(jī)技術(shù)書籍,不過本文要討論的內(nèi)容和這本書可以說沒有一點(diǎn)關(guān)系。

          今天的話題面向的程序員,就是所有的正在寫代碼或者曾經(jīng)寫過代碼的程序員,也包括廣義上的程序員,例如項(xiàng)目經(jīng)理、架構(gòu)師等等。

          在中國,寫程序,我相信對于大多數(shù)程序員來說不僅僅是一種興趣,更多的時(shí)候,更是一種養(yǎng)家糊口的技能,畢竟,程序員的高薪已經(jīng)是家喻戶曉的事情了。

          對于大多數(shù)程序員來說,能成為Linus Torvalds等這些大神這樣的人幾率確實(shí)小的幾乎可以忽略不計(jì),但是,在普通人當(dāng)中,程序員的水平也是良莠不齊,大公司有厲害的程序員,優(yōu)秀的架構(gòu)師,不少公司也有一些工作很多年的“bug工程師"。

          那么問題來了,同樣是工作若干年,為什么差距就出來了,我想,這些優(yōu)秀的程序員肯定是有一些“自我修養(yǎng)”,是最基礎(chǔ)的,是普世的。如果你能從這些修養(yǎng)開始約束自己,我想比讀幾本技術(shù)書籍管用很多。

          好了,掰扯了那么多廢話,下面進(jìn)入正題。

          何為程序員的自我修養(yǎng)?

          何為程序員的自我修養(yǎng)?從正面回答這個(gè)問題可能很難說清楚,反向描述可能更通俗易懂一些,自我修養(yǎng)的對立面是“沒有修養(yǎng)”,那么我說說這么多年的工作、學(xué)習(xí)中,遇到的一些我認(rèn)為“沒有修養(yǎng)”的程序員形態(tài):

          1、程序員小張遇到了一個(gè)開發(fā)問題,在網(wǎng)上搜到有個(gè)帖子講解了相關(guān)話題,他看完就給博主留言,我的郵箱是xxx,麻辛苦博主把源碼發(fā)給我一下!

          2、程序員小張進(jìn)公司3個(gè)月了,覺得代碼寫完能通過測試就OK了,在寫代碼的時(shí)候能省就省,客戶反饋有問題也不主動(dòng)解決,敷衍為主。

          3、程序員小張正在寫一個(gè)功能模塊,需要進(jìn)行某種加密,到百度搜到了一個(gè)編碼模塊,看不明白具體寫了什么,但是放到程序里剛好適用,于是就這么原封不動(dòng)放進(jìn)去了。

          4、程序員小張要對某個(gè)功能進(jìn)行研發(fā),項(xiàng)目經(jīng)理對他說,這個(gè)功能應(yīng)該能搜索到,你去搜搜看,小張就在百度搜啊搜,一天過去了啥都沒找到,項(xiàng)目經(jīng)理來到小張身邊坐下,換了個(gè)關(guān)鍵詞,1分鐘就搜到了解決方案。

          5、程序員小張某天非常不高興,因?yàn)樗捻?xiàng)目經(jīng)理和項(xiàng)目組的產(chǎn)品人員又變更需求了,新的需求又要對整個(gè)結(jié)構(gòu)進(jìn)行大的調(diào)整,小張很郁悶,到一個(gè)QQ里發(fā)泄情緒,說了這個(gè)事,于是立馬,QQ群里面炸開鍋了,程序員小李說,對,產(chǎn)品就是狗日的!程序員小王說,對,他媽的項(xiàng)目經(jīng)理整天高枕無憂,就知道壓榨開發(fā)人員!。

          我想,有些人可能已經(jīng)明白我要說什么,有些人可能還不明白,具體的話我也說不出來,只能用一句話來概括就是:在編寫代碼的過程中,善于學(xué)習(xí)、掌握方法、勤加思考、勤奮努力、持之以恒,長此以往,你的成長是非常快的。

          以上這些還是比較抽象,那么說點(diǎn)實(shí)際的,程序員具體如何達(dá)成“較高的修養(yǎng)”,每個(gè)人各有自己的辦法,一兩句話是說不清楚的。我多年工作過程中,和騰訊最年輕的T4專家共事過,和百度92年的的T8曾經(jīng)是一個(gè)團(tuán)隊(duì)同事,只能通過觀察這些大牛的行為舉止來講述自己的觀點(diǎn)。主要從以下四個(gè)大的方面入手:

          • ? 1.程序員基礎(chǔ)

          • ? 2.搜索方法

          • ? 3.英語能力

          • ? 4.編程習(xí)慣

          程序員基礎(chǔ)的基礎(chǔ)

          一個(gè)好的開發(fā)人員,僅能夠熟練的進(jìn)行代碼編寫是完全不夠的,需要深刻的理解技術(shù)原理和業(yè)務(wù)邏輯,能夠全面、高效、嚴(yán)謹(jǐn)?shù)娜ヌ幚砣魏诬浖绦蚝蜆I(yè)務(wù)問題,而要做到這點(diǎn),扎實(shí)的個(gè)人基礎(chǔ)和技術(shù)基礎(chǔ)是必不可少的。

          扎實(shí)的計(jì)算機(jī)基礎(chǔ)才是決定程序員發(fā)展的上限關(guān)鍵因素,而不是你今天學(xué)了什么語言,明天又學(xué)了xx框架。下面說的一些基礎(chǔ),需要我們重點(diǎn)對待和提高。

          • ? 數(shù)據(jù)結(jié)構(gòu)

          • ? 操作系統(tǒng)

          • ? 數(shù)據(jù)庫

          • ? 編譯原理

          • ? 算法

          • ? 體系結(jié)構(gòu)

          上面說的每一項(xiàng)都是搭成一個(gè)優(yōu)秀的軟件的基石,市面上也有很多相關(guān)的經(jīng)典書籍,其實(shí)大家特別是畢業(yè)沒幾年的同學(xué)可以在平時(shí)多積累,不要丟了這些技能。

          搜索方法

          面向谷歌編程,這并不是一句戲言,事實(shí)上,任何一個(gè)開發(fā)人員,都應(yīng)當(dāng)具備搜索能力,甚至是一定要具備搜索能力。

          同樣水平的程序員,會不會用搜索,可能會在程序開發(fā)質(zhì)量、效率上出現(xiàn)數(shù)倍的差異,這絕不是危言聳聽。因此,掌握高效、先進(jìn)、靈活的搜索方法和技巧,是非常重要的。提高搜索能力,主要的方法介紹如下:

          • 搜索源選擇:選擇百度還是谷歌,或是選擇專業(yè)的程序員論壇,這里給出我的一個(gè)順序僅供參考:StackOverFlow網(wǎng)站 > 谷歌 > 百度。

          • 關(guān)鍵詞構(gòu)造:總體遵循的原則是,準(zhǔn)確和簡潔,這個(gè)搜索多了自然就知道了。

          • 聯(lián)想搜索:舉一個(gè)通俗的例子,比如想使用C#,利用某個(gè).NET類處理一種HTTP通訊,但是一直搜索不到完美的結(jié)果,不過換個(gè)思路,考慮到VB.NET也是.NET體系,和C#完全相通,那么也可以試著用VB.NET關(guān)鍵詞進(jìn)行搜索,搜索到完美代碼后再臨摹成C#代碼。

          英語能力

          計(jì)算機(jī)這個(gè)學(xué)科是從美國發(fā)展起來的,決定了編程語言一定是基于英語的,在編程過程中,從語言的關(guān)鍵詞到文檔的內(nèi)容又或是搜索引擎的搜索結(jié)果,都不可避免的會遇到英文。另外每出現(xiàn)一種新技術(shù),其一手資料一般都是英文,等到對應(yīng)的翻譯版本出來后,這個(gè)技術(shù)可能已經(jīng)流行好幾年了。

          但是,作為程序員,也不需要太高的英語水平,只要能達(dá)到以下幾個(gè)點(diǎn)就夠用了:

          • ? 1.在自己技術(shù)知識范圍內(nèi)的任何的英文的技術(shù)手冊、文檔、文章或是問題描述,能夠讀懂8成的內(nèi)容含義,能夠讀懂完整的技術(shù)含義。

          • ? 2.對常見的編程邏輯和核心關(guān)鍵詞,能夠用英文組織問題的描述,最簡單的也行,只要能被搜索引擎讀懂就可以。比如如何在C#中把整形轉(zhuǎn)換為字符串類型這個(gè)問題,最簡易的英文描述就是 C# Integer Covert To String。

          編程習(xí)慣

          可以說任何一個(gè)優(yōu)秀的程序員,都有他自己養(yǎng)成的一套良好的習(xí)慣。有一些編程習(xí)慣,看似不足為道,可是如果堅(jiān)持下去,最終都能收到意想不到的奇效。下面列舉一些特別重要并且通用的好習(xí)慣。
          • ? 快捷鍵的使用

          • ? 好的代碼注釋

          • ? 好的命名規(guī)則

          • ? 數(shù)據(jù)備份

          • ? 不將就的編程邏輯,甚至于要有一點(diǎn)代碼潔癖

          • ? 郵件工作方式

          是不是這些習(xí)慣其實(shí)很簡單,其實(shí)今天提到的這些提升程序員修養(yǎng)的幾個(gè)點(diǎn)看起來都很簡單,而且大部分同學(xué)其實(shí)應(yīng)該也是知道的,但是捫心自問,平時(shí)能真正去認(rèn)真思考并實(shí)踐的有多少同學(xué)?或許,堅(jiān)持才是程序員最大的自我修養(yǎng),101%和99%的365次方的故事、1萬小時(shí)的道理大家都聽過,以此和各位共勉!

          —  —

          歡迎關(guān)注原創(chuàng)技術(shù)號↓↓↓
          如有幫助,辛苦點(diǎn)贊和在看
          瀏覽 68
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(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>
                  亚洲青青视频 | 91干在线| 操逼试看20分钟视频 | 高清操逼大片 | 国产精品久久午夜夜伦鲁鲁 |