chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

高級程序員都具備哪些優(yōu)良素質(zhì)

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

掃碼添加小助手

加入工程師交流群

作為高級程序員,以至于系統(tǒng)分析員,也就是對于一個程序項目的設(shè)計者而言,除了應(yīng)該具備上述全部素質(zhì)之外,還需要具備以下素質(zhì):

第一,需求分析能力

對于程序員而言,理解需求就可以完成合格的代碼,但是對于研發(fā)項目的組織和管理者,他們不但要理解客戶需求,更多時候還要自行制定一些需求,為什么這么說呢?

一般而言,進(jìn)行研發(fā)任務(wù),也許是客戶提出需求,也許是市場和營銷部門提出的需求,這時候?qū)τ谘邪l(fā)部門,他們看到的不是一個完整的需求,通常而言,該需求僅僅是一些功能上的要求,或者更正規(guī)些,可能獲得一個完整的用戶視圖;但是這都不夠,因為客戶由于非技術(shù)因素多一些,他們可能很難提出完整和清晰,或者說專業(yè)性的性能需求,但是對于項目組織者和規(guī)劃者,他必須能夠清醒認(rèn)識到這些需求的存在并在完成需求分析報告的時候適當(dāng)?shù)奶岢觯瑫r要完整和清晰的體現(xiàn)在設(shè)計說明書里面,以便于程序員編碼時不會失去這些準(zhǔn)則。

程序設(shè)計者必須正確理解用戶需求所處的環(huán)境,并針對性做出需求的分析,舉例而言,同樣一個軟件通過ASP租用方式發(fā)布和通過License方式發(fā)布,性能需求可能就是有區(qū)別的,前者強(qiáng)調(diào)的是更好的支撐能力和穩(wěn)定性,而后者則可能更強(qiáng)調(diào)在各種平臺下的普適性和安裝使用的簡捷性。

第二,項目設(shè)計方法和流程處理能力

程序設(shè)計者必須能夠掌握不少于兩到三種的項目設(shè)計方法(比如自頂至下的設(shè)計方法,比如快速原型法等等),并能夠根據(jù)項目需求和資源搭配來選擇合適的設(shè)計方法進(jìn)行項目的整體設(shè)計。設(shè)計方法上選擇不當(dāng),就會耽誤研發(fā)周期,浪費研發(fā)資源,甚至影響研發(fā)效果。

一個程序設(shè)計者還需要把很多功夫用在流程圖的設(shè)計和處理上,他需要做數(shù)據(jù)流圖以確立數(shù)據(jù)詞典;他需要加工邏輯流圖以形成整體的系統(tǒng)處理流程。一個流程有問題的系統(tǒng),就算代碼多漂亮,每個模塊多精致,也不會成為一個好的系統(tǒng)。當(dāng)然,做好流程分析并選擇好項目設(shè)計方法,都需要在需求分析能力上具有足夠的把握。

第三,復(fù)用設(shè)計和模塊化分解能力

這個似乎又是老調(diào)重談,前面基本素質(zhì)上不是已經(jīng)說明了這個問題嗎?

作為一個從事模塊任務(wù)的程序員,他需要對他所面對的特定功能模塊的復(fù)用性進(jìn)行考慮,而作為一個系統(tǒng)分析人員,他要面對的問題復(fù)雜的多,需要對整體系統(tǒng)按照一種模塊化的分析能力分解為很多可復(fù)用的功能模塊和函數(shù),并針對每一模塊形成一個獨立的設(shè)計需求。舉個例子,好比是汽車生產(chǎn),最早每輛汽車都是獨立安裝的,每個部件都是量身定做的,但是后來不一樣了,機(jī)器化大生產(chǎn)了,一個汽車廠開始通過流水線來生產(chǎn)汽車,獨立部件開始具有一定的復(fù)用性,在后來標(biāo)準(zhǔn)化成為大趨勢,不同型號,品牌甚至不同廠商的汽車部件也可以進(jìn)行方便的換裝和升級,這時候,汽車生產(chǎn)的效率達(dá)到最大化。軟件工程也是同樣的道理,一個成熟的軟件行業(yè),在一些相關(guān)項目和系統(tǒng)中,不同的部件是可以隨意換裝的,比如微軟的許多桌面軟件,在很多操作模塊(如打開文件,保存文件等等)都是復(fù)用的同一套功能模塊,而這些接口又通過一些類庫提供給了桌面應(yīng)用程序開發(fā)者方便掛接,這就是復(fù)用化的模塊設(shè)計明顯的一個佐證。

將一個大型的,錯綜復(fù)雜的應(yīng)用系統(tǒng)分解成一些相對獨立的,具有高度復(fù)用性的,并能僅僅依靠幾個參數(shù)完成數(shù)據(jù)聯(lián)系的模塊組合,是作為高級程序員和系統(tǒng)分析員一項最重要的工作,合適的項目設(shè)計方法,清晰的流程圖,是實現(xiàn)這一目標(biāo)的重要保證。

第四,整體項目評估能力

作為系統(tǒng)設(shè)計人員,必須能夠從全局出發(fā),對項目又整體的清醒認(rèn)識,比如公司的資源配置是否合理和到位,比如工程進(jìn)度安排是否能最大化體現(xiàn)效率又不至于無法按期完成。評估項目整體和各個模塊的工作量,評估項目所需的資源,評估項目可能遇到的困難,都需要大量的經(jīng)驗積累,換言之,這是一種不斷總結(jié)的累計才能達(dá)到的境界。在西方一些軟件系統(tǒng)設(shè)計的帶頭人都是很年長的,比如4,50歲,甚至更老,他們在編碼方面已經(jīng)遠(yuǎn)遠(yuǎn)不如年輕人那樣活絡(luò),但是就項目評估而言,他們幾十年的經(jīng)驗積累就是最重要和寶貴的財富。中國缺這么一代程序員,主要還不是缺那種年紀(jì)的程序員,而是那種年紀(jì)的程序員基本上都是研究單位作出來的,都不是從專業(yè)的產(chǎn)品化軟件研發(fā)作出來的,他們沒有能積累那種產(chǎn)品化研發(fā)的經(jīng)驗,這也是沒有辦法的事情。

第五,團(tuán)隊組織管理能力

完成一個項目工程,需要團(tuán)隊的齊心協(xié)力,作為項目設(shè)計者或研發(fā)的主管人,就應(yīng)當(dāng)有能力最大化發(fā)揮團(tuán)隊的整體力量,技術(shù)管理由于其專業(yè)性質(zhì),不大同于一般的人事管理,因為這里面設(shè)計了一些技術(shù)性的指標(biāo)和因素。

首先是工作的量化,沒有量化就很難做到合適的績效考核,而程序量化又不是簡單的代碼行數(shù)可以計算的,因此要求技術(shù)管理人員需要能真正評估一個模塊的復(fù)雜性和工作量。

其次是對團(tuán)隊協(xié)作模式的調(diào)整,一般而言,程序開發(fā)的協(xié)作通常分為小組進(jìn)行,小組有主程序員方式的,也有民主方式的,根據(jù)程序員之間的能力水平差距,以及根據(jù)項目研發(fā)的需求,選擇合適的組隊方式,并能將責(zé)權(quán)和成員的工作任務(wù)緊密結(jié)合,這樣才能最大發(fā)揮組隊的效率。

一個代碼水平高的人,未必能成為一個合格的項目研發(fā)主管,這方面的能力欠缺往往是容易被忽視的。

綜上可以看到,作為一個主管研發(fā)的負(fù)責(zé)人,一個項目設(shè)計者,所需要具備的素質(zhì)和能力并不是程序代碼編寫的能力,當(dāng)然一般情況下,一個程序員通過不斷的總結(jié)提高達(dá)到了這種素質(zhì)的時候,他所具有的代碼編寫能力也已經(jīng)相當(dāng)不簡單了,但是請注意這里面的因果關(guān)系,一個高水平的項目設(shè)計者通常已經(jīng)是代碼編寫相當(dāng)優(yōu)秀的人了,但是并不是一個代碼相當(dāng)優(yōu)秀的程序員就可以勝任項目設(shè)計的工作,這里面存在的也不是智商和課本的問題,還是在于一個程序員在積累經(jīng)驗,逐步提升的時候沒有意識到應(yīng)當(dāng)思考哪方面的東西,沒有有意識的就項目的組織和復(fù)用設(shè)計進(jìn)行揣摩,沒有經(jīng)常性的文檔習(xí)慣和總結(jié)習(xí)慣,不改變這些,我們的合格的項目設(shè)計者還是非常欠缺。

另外,為防止有無聊的人和我較真,補充一點,本文針對目標(biāo)是作商業(yè)化的軟件項目和工程,那些科研機(jī)構(gòu)的編程高手,比如算法高手,比如圖象處理高手,他們的工作是研究課題而非直接完成商業(yè)軟件(當(dāng)然最終間接成為商業(yè)產(chǎn)品,比如微軟研究院在作的研究課題),因此他們強(qiáng)調(diào)的素質(zhì)可能是另外的東西,這些人(專家),并不能說是程序員,不能用程序員的標(biāo)準(zhǔn)去衡量。

最后補充一點東西,一個軟件項目研發(fā)的設(shè)計流程是怎樣的呢?以通常標(biāo)準(zhǔn)的設(shè)計方法為例,(不過筆者喜歡快速原型法)。

第一個步驟是市場調(diào)研,技術(shù)和市場要結(jié)合才能體現(xiàn)最大價值。

第二個步驟是需求分析,這個階段需要出三樣?xùn)|西,用戶視圖,數(shù)據(jù)詞典和用戶操作手冊。用戶視圖是該軟件用戶(包括終端用戶和管理用戶)所能看到的頁面樣式,這里面包含了很多操作方面的流程和條件。數(shù)據(jù)詞典是指明數(shù)據(jù)邏輯關(guān)系并加以整理的東東,完成了數(shù)據(jù)詞典,數(shù)據(jù)庫的設(shè)計就完成了一半多。用戶操作手冊是指明了操作流程的說明書。請注意,用戶操作流程和用戶視圖是由需求決定的,因此應(yīng)該在軟件設(shè)計之前完成,完成這些,就為程序研發(fā)提供了約束和準(zhǔn)繩,很遺憾太多公司都不是這樣做的,因果顛倒,順序不分,開發(fā)工作和實際需求往往因此產(chǎn)生隔閡脫節(jié)的現(xiàn)象。

需求分析,除了以上工作,筆者以為作為項目設(shè)計者應(yīng)當(dāng)完整的做出項目的性能需求說明書,因為往往性能需求只有懂技術(shù)的人才可能理解,這就需要技術(shù)專家和需求方(客戶或公司市場部門)能夠有真正的溝通和了解。

第三個步驟是概要設(shè)計,將系統(tǒng)功能模塊初步劃分,并給出合理的研發(fā)流程和資源要求。作為快速原型設(shè)計方法,完成概要設(shè)計就可以進(jìn)入編碼階段了,通常采用這種方法是因為涉及的研發(fā)任務(wù)屬于新領(lǐng)域,技術(shù)主管人員一上來無法給出明確的詳細(xì)設(shè)計說明書,但是并不是說詳細(xì)設(shè)計說明書不重要,事實上快速原型法在完成原型代碼后,根據(jù)評測結(jié)果和經(jīng)驗教訓(xùn)的總結(jié),還要重新進(jìn)行詳細(xì)設(shè)計的步驟。

第四個步驟是詳細(xì)設(shè)計,這是考驗技術(shù)專家設(shè)計思維的重要關(guān)卡,詳細(xì)設(shè)計說明書應(yīng)當(dāng)把具體的模塊以最‘干凈’的方式(黑箱結(jié)構(gòu))提供給編碼者,使得系統(tǒng)整體模塊化達(dá)到最大;一份好的詳細(xì)設(shè)計說明書,可以使編碼的復(fù)雜性減低到最低,實際上,嚴(yán)格的講詳細(xì)設(shè)計說明書應(yīng)當(dāng)把每個函數(shù)的每個參數(shù)的定義都精精細(xì)細(xì)的提供出來,從需求分析到概要設(shè)計到完成詳細(xì)設(shè)計說明書,一個軟件項目就應(yīng)當(dāng)說完成了一半了。換言之,一個大型軟件系統(tǒng)在完成了一半的時候,其實還沒有開始一行代碼工作。那些把作軟件的程序員簡單理解為寫代碼的,就從根子上犯了錯誤了。

第五個步驟是編碼,在規(guī)范化的研發(fā)流程中,編碼工作在整個項目流程里最多不會超過1/2,通常在1/3的時間,所謂磨刀不誤砍柴功,設(shè)計過程完成的好,編碼效率就會極大提高,編碼時不同模塊之間的進(jìn)度協(xié)調(diào)和協(xié)作是最需要小心的,也許一個小模塊的問題就可能影響了整體進(jìn)度,讓很多程序員因此被迫停下工作等待,這種問題在很多研發(fā)過程中都出現(xiàn)過。編碼時的相互溝通和應(yīng)急的解決手段都是相當(dāng)重要的,對于程序員而言,bug永遠(yuǎn)存在,你必須永遠(yuǎn)面對這個問題,大名鼎鼎的微軟,可曾有連續(xù)三個月不發(fā)補丁的時候嗎?從來沒有!

第六個步驟是測試

測試有很多種:按照測試執(zhí)行方,可以分為內(nèi)部測試和外部測試;按照測試范圍,可以分為模塊測試和整體聯(lián)調(diào);按照測試條件,可以分為正常操作情況測試和異常情況測試;按照測試的輸入范圍,可以分為全覆蓋測試和抽樣測試。以上都很好理解,不再解釋。

總之,測試同樣是項目研發(fā)中一個相當(dāng)重要的步驟,對于一個大型軟件,3個月到1年的外部測試都是正常的,因為永遠(yuǎn)都會又不可預(yù)料的問題存在。

完成測試后,完成驗收并完成最后的一些幫助文檔,整體項目才算告一段落,當(dāng)然日后少不了升級,修補等等工作,只要不是想通過一錘子買賣騙錢,就要不停的跟蹤軟件的運營狀況并持續(xù)修補升級,知道這個軟件被徹底淘汰為止。

寫這些步驟算不上賣弄什么,因為實話講我手邊是一本《軟件工程》,在大學(xué)里這是計算機(jī)專業(yè)的必修課程,但是我知道很多程序員似乎從來都只是熱衷于什么《30天精通VC》之類的,他們有些和我一樣游擊隊出身,沒有正規(guī)學(xué)過這個專業(yè),還有一些則早就在混夠?qū)W分后就把這些真正有用的東西還給了老師。

網(wǎng)上現(xiàn)在也很浮躁,一些coding fans亂嚷嚷,混淆視聽,實際上真正的技術(shù)專家很少在網(wǎng)上亂發(fā)帖子的,如筆者這樣不知天高地厚的,其實實在是算不上什么高手,只不過看不慣這種對技術(shù),對程序員的誤解和胡說,只好挺身而出,做撥亂反正之言,也希望那些還沉迷于一些錯誤人士的coding fans們能認(rèn)真想想,走到正途上,畢竟那些聰明的頭腦還遠(yuǎn)遠(yuǎn)沒有發(fā)揮應(yīng)有的價值。

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

    關(guān)注

    4

    文章

    955

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    程序員最常見謊言

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

    堆和棧的區(qū)別

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

    軟通國際亮相2025沙中開源與AI科技峰會

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

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

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

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

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

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

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

    Smart Eye攜手Ayats完成高級駕駛分心警告系統(tǒng)認(rèn)證

    近日,駕駛監(jiān)控系統(tǒng)(DMS)的領(lǐng)先開發(fā)商Smart Eye攜手著名客車和巴士制造商Ayats成功完成了高級駕駛分心警告(ADDW)系統(tǒng)的認(rèn)證。
    的頭像 發(fā)表于 04-02 10:56 ?790次閱讀

    計算機(jī)網(wǎng)絡(luò)排錯思路總結(jié)

    明人不說暗話,這篇文章我們來聊一個非常有用,同時也是程序員必備的技能,那就是網(wǎng)絡(luò)排錯思路大總結(jié)。
    的頭像 發(fā)表于 04-01 17:32 ?654次閱讀
    計算機(jī)網(wǎng)絡(luò)排錯思路總結(jié)

    如何在 樹莓派 上編寫和運行 C 語言程序?

    ,一本很好的書是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。這本書對經(jīng)驗豐富的程序員和想學(xué)習(xí)C語
    的頭像 發(fā)表于 03-25 09:28 ?944次閱讀
    如何在 樹莓派 上編寫和運行 C 語言<b class='flag-5'>程序</b>?

    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python程序

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?1557次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python<b class='flag-5'>程序</b>?

    Gemini Vision + Raspberry Pi 化身“數(shù)字導(dǎo)盲犬”?

    本文討論了一位程序員利用樹莓派、攝像頭、Gemini和Python構(gòu)建PeregrineEye設(shè)備,使其成為“數(shù)字導(dǎo)盲犬”為視障者服務(wù)的項目經(jīng)歷,包括項目靈感、功能、構(gòu)建過程、遇到的挑戰(zhàn)及未來計劃等
    的頭像 發(fā)表于 03-25 09:20 ?1719次閱讀
    Gemini Vision + Raspberry Pi 化身“數(shù)字導(dǎo)盲犬”?

    LDC1000 EVM GUI驅(qū)動無法安裝,怎么解決?

    每次打開LDC1000 EVM GUI就會出現(xiàn)這個驅(qū)動沒有安裝,請問程序員怎么解決這個問題?。。?!
    發(fā)表于 01-17 06:15

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

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

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發(fā)表于 12-24 17:19 ?2次下載
    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>參考補充