亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談程序員的能力要求與工作過程

  發(fā)布時間:2019-10-08 16:20:01   作者:孟浪之言   我要評論
程序員是一個門檻不高的職業(yè),但是優(yōu)秀程序員的門檻很高。這篇文章主要介紹了淺談程序員的能力要求與工作過程,感興趣的可以了解一下

了解、入門、熟練、精通

程序員是一個門檻不高的職業(yè),但是優(yōu)秀程序員的門檻很高。用代碼實現(xiàn)功能是一個十分容易完成的任務(wù)。自然語言的語法那么復(fù)雜,大家都能很好的組織成文,何況程序語言的那幾個單詞和幾條簡單的語法規(guī)則呢?花點時間,人人都會。一個優(yōu)秀的程序員,則需要極強(qiáng)的抽象與概括的能力,還有優(yōu)秀的邏輯分析能力,溝通和理解能力也是程序員非常重要但總是被忽略的能力;抽象概括的能力是代碼簡潔優(yōu)美的基礎(chǔ),邏輯分析能力是代碼高效穩(wěn)定的基礎(chǔ),這兩者也是架構(gòu)能力的基石;溝通與理解能力是代碼有效易用的基礎(chǔ)。程序員通過溝通才能充分知曉并理解需求,通過理解才能知曉需求背后的本質(zhì)訴求和需求邊界,這樣才能寫出客戶真正想要的代碼,真正瞄準(zhǔn)客戶痛點的代碼。

基礎(chǔ)能力很重要,但是難以度量。工作這么多年,也閱讀了許多簡歷,有些人在簡歷上的技能清一色的都是精通。漢語中精通是對一個人技能的最高評價吧。這么多的精通,一個月 20k 的要價不覺得低了么?技術(shù)能力永遠(yuǎn)是程序員的核心能力,上述的抽象概括、邏輯分析和溝通能力決定一個程序員在技術(shù)的路上能走多遠(yuǎn),有些人工作十幾年,技能水平可能仍然是入門,有些人可能工作一年就精通了,這折射的就是這個人的基礎(chǔ)能力,而技能水平是易衡量的。

技術(shù)的四個階段

了解表示某個人對某個技術(shù)有所了解,能說出這個技術(shù)的幾個特點,比如問你了解 JAVA 嗎,如果可以回答出 JAVA 是面向?qū)ο蟮恼Z言,運行在 JVM 虛擬機(jī)上,具有跨平臺的特點,其他點也可以,只要能知道一兩個,就達(dá)到了解的水平了。入門,表示會用了,當(dāng)然不是會寫 hello world 了,而是了解這個技術(shù)的用法,在搜索的輔助下,能完成大部分的任務(wù),比如用 JAVA 寫多線程,處理 Exception。熟練,表示技術(shù)人員對某個技術(shù)的基本特性有深刻的理解,技能熟練度不再是業(yè)務(wù)實現(xiàn)的瓶頸,技術(shù)人員可以在這個技術(shù)的限制之內(nèi)實現(xiàn)任何自己期望的結(jié)果,比如用 JAVA 寫一個用戶管理系統(tǒng),用 JAVA 寫一個后臺服務(wù),定位 CPU 過高、內(nèi)存泄漏的問題。精通表示技術(shù)人員不僅對某個技術(shù)的特性有深刻的理解,對這個技術(shù)的邊界也有清晰的認(rèn)識,知道這個技術(shù)可以做什么,不可以做什么;知道這個技術(shù)的實現(xiàn)原理,能處理該技術(shù)的絕大部分問題,并有自己的經(jīng)驗總結(jié)。精通也意味著技術(shù)人員不僅可以用這個技術(shù)實現(xiàn)自己的期望,還知道實現(xiàn)得怎樣,即這個實現(xiàn)存在的風(fēng)險,以及風(fēng)險的處理。怎樣的事情需要程序員達(dá)到精通水平呢?比如用JAVA 實現(xiàn)一個高性能的穩(wěn)定的用戶管理系統(tǒng)和后臺服務(wù)??偨Y(jié)下來就是:了解了,會寫功能了,會寫系統(tǒng)了,會寫一個高性能高穩(wěn)定性的系統(tǒng)了。

技術(shù)入門很容易,熟練和精通不易。照著教程,就可以入門了;寫功能,幾個類,幾個方法,簡單的抽象和邏輯分析就可以實現(xiàn),溝通也相對簡單;寫系統(tǒng)則需要在系統(tǒng)層面進(jìn)行模塊的劃分和邏輯過程的切分,要求更高些,溝通過程也較長;高性能高穩(wěn)定性的系統(tǒng),不僅要會進(jìn)行模塊的劃分和邏輯切分,還需要會進(jìn)行更加合理的模塊劃分,更加高效的邏輯切分,這個劃分和切分不僅是系統(tǒng)功能的實現(xiàn)的基礎(chǔ),還是系統(tǒng)性能和穩(wěn)定的基礎(chǔ)。對照程序員的水平,一門技術(shù)入門是初級程序員,熟練是中級程序員,精通是高級程序員,多門技術(shù)精通就是資深程序員了。

溝通、設(shè)計、實現(xiàn)、檢查、自測、文檔

有人誤會程序員的主要工作內(nèi)容就是寫代碼。如果要做個類比,寫代碼就相當(dāng)于餐飲店炒菜的環(huán)節(jié),餐飲店還有計劃、采購、處理……程序員的工作內(nèi)容除了寫代碼,還包含需求的溝通,即知道自己接下來寫的代碼要實現(xiàn)什么東西;還有代碼的設(shè)計,即思考接下來的代碼怎么寫;然后才開始寫代碼;寫完代碼還需要檢查和自測試,即看看自己寫得怎么樣了;最后還需要寫寫文檔,讓大家知道怎么用你寫的東西;有時候還要組織大家評審下,讓別人知道自己完成任務(wù)了。

 

程序員的工作過程

寫代碼,或者程序員的工作的一般步驟是溝通、設(shè)計、實現(xiàn)、檢查、自測、文檔。溝通是理解需求,明白需求的核心訴求和需求的邊界;設(shè)計是分解需求,進(jìn)行代碼結(jié)構(gòu)和邏輯的設(shè)計,如果是在已有代碼的基礎(chǔ)上的開發(fā),還需要確認(rèn)當(dāng)前設(shè)計對現(xiàn)有代碼的影響,確定修改的范圍;實現(xiàn)就是寫代碼。實際工作中,實現(xiàn)和設(shè)計有時候是交替進(jìn)行的,在實現(xiàn)的過程中發(fā)現(xiàn)設(shè)計的問題,則需要返回修改設(shè)計,甚至完全推倒原來的設(shè)計。實現(xiàn)完成后,很多人就認(rèn)為任務(wù)完成了,可以提交測試了。寫完代碼,檢查下,自己閱讀下代碼,補(bǔ)充注釋,刪繁就簡,這個工作是當(dāng)下多一小時,未來少十小時的杠桿工作,還可以降低代碼的 bug 率,提高代碼可讀性可維護(hù)性。自測保證代碼的質(zhì)量,可以從功能、性能、穩(wěn)定性、并發(fā)四個方面進(jìn)行。自測的內(nèi)容很多,實際操作就是寫完代碼,跑下功能,多跑幾次,幾個并發(fā)一起跑個幾分鐘。文檔一般是程序員任務(wù)的最后一個環(huán)節(jié),也可以在之前的幾個階段積累。文檔包含程序的設(shè)計文檔,必要的關(guān)于功能的說明,比如服務(wù)的接口文檔,功能的使用方式,還有一些必要的自測試的結(jié)論。寫好文檔,就可以和代碼的一起交付給測試,開始代碼的下一個生命周期了。

從需求的溝通,到文檔的輸出,是程序員開發(fā)任務(wù)的一個閉環(huán),即代碼和文檔的交付是一個程序員某個任務(wù)完成的標(biāo)志。單純的代碼提交僅僅是寫完代碼了,不意味著整個任務(wù)的完成,文檔不僅是對這次任務(wù)的總結(jié),也是這次任務(wù)質(zhì)量的一個保證。當(dāng)一個程序員完成文檔輸出,并通過了交付評審,意味著他可以開始下一個任務(wù)了。有人說,還有 bug 修復(fù),bug 修復(fù)屬于另一個流程,不屬于上述開發(fā)中的一環(huán),它應(yīng)該屬于測試中的一個環(huán)節(jié)。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 記一次騰訊社招前端面試(已拿到offer入職)

    這篇文章主要介紹了記一次騰訊社招前端面試,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-12-03
  • Vuex面試題匯總(推薦)

    這篇文章主要介紹了Vuex面試題匯總(推薦),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-15
  • 從面試官角度觀察到的程序員技能瓶頸(突破瓶頸的建議)

    對此本文將圍繞著初級程序員,高級程序員和架構(gòu)師這三個職位,說明下這些級別的技能瓶頸,并給出若干突破瓶頸的建議,感興趣的朋友一起看看吧
    2019-10-17
  • python全棧工程師是什么(需要會哪些東西)

    即從前端頁面的實現(xiàn),到后臺代碼的編寫,再到數(shù)據(jù)庫的管理,一人可以搞定一個公司網(wǎng)站的所有事情,真正實現(xiàn)全棧開發(fā)
    2019-10-13
  • 如何進(jìn)入Web前端開發(fā)行業(yè),怎么不斷提升技能

    現(xiàn)在的Web前端開發(fā)不得不說是火透了整個互聯(lián)網(wǎng),Web前端、微信、小程序似乎已經(jīng)是不得不談的未來趨勢。市場火證明未來缺口大,那么如何進(jìn)入Web前端開發(fā)行業(yè),怎么不斷提升
    2019-10-10
  • 淺談程序員的能力要求與工作過程

    程序員是一個門檻不高的職業(yè),但是優(yōu)秀程序員的門檻很高。這篇文章主要介紹了淺談程序員的能力要求與工作過程,感興趣的可以了解一下
    2019-10-08
  • Java多線程與并發(fā)面試題(小結(jié))

    這篇文章主要介紹了Java多線程與并發(fā)面試題(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-09-26
  • 一篇文章看懂大數(shù)據(jù)分析就業(yè)前景及職能定位、職能要求

    這篇文章主要介紹了大數(shù)據(jù)分析就業(yè)前景及職能定位、職能要求,較為詳細(xì)的分析了大數(shù)據(jù)分析了大數(shù)據(jù)分析相關(guān)概念、專業(yè)知識、行業(yè)背景、職業(yè)要求、發(fā)展前景等問題,需要的朋友
    2019-07-29
  • 啥是前端開發(fā)工程師必會的5種網(wǎng)頁布局方式?

    作為前端開發(fā)工程師,布局方式有多種,針對不同的情況有不一樣的處理,這篇文章主要介紹了啥是前端開發(fā)工程師必會的5種網(wǎng)頁布局方式?具有一定的參考價值,感興趣的小伙伴
    2019-07-26
  • Java開發(fā)者必須掌握的15個框架(20k是小問題)

    這篇文章主要介紹了Java開發(fā)者必須掌握的15個框架,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-07-24

最新評論