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

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

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

程序員的十大編程禁忌

工程師人生 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-11-09 16:27 ? 次閱讀

程序員編程的時候難免會犯錯誤,但如果不從錯誤中吸取教訓(xùn),那么習(xí)慣成自然,你會經(jīng)常犯錯的。從錯誤中不斷的學(xué)習(xí),鍛煉好的行為習(xí)慣有助于事業(yè)上的穩(wěn)定。

程序員在編程的時候難免會犯錯誤,但如果不從錯誤中吸取教訓(xùn),那么習(xí)慣成自然,你會經(jīng)常犯錯的。從錯誤中不斷的學(xué)習(xí),鍛煉好的行為習(xí)慣有助于事業(yè)上的穩(wěn)定。這就是我們?nèi)绾螌⑿←湉脑憧分袇^(qū)別出來以及如何避免編程禁忌的絕佳經(jīng)驗。此外,最重要的就是可以為客戶帶來更好的用戶體驗。

1. 不提升非技術(shù)技能

我們認(rèn)為非技術(shù)技能是項目成功的主要因素。這些非技術(shù)技能也可以稱之為“軟技能”,總體上來說,它已經(jīng)被公司證明為能夠駕馭企業(yè)和客戶之間的長期商業(yè)關(guān)系,因此也能決定公司的成長發(fā)展路徑。一些關(guān)鍵的軟技能指標(biāo)包括:

a.紀(jì)律——這是最重要的特征之一,缺乏紀(jì)律,最終會讓這個開發(fā)團隊在開發(fā)能力上“缺乏自信”。解決這一問題的矯正方法就是每天制定詳細(xì)的to-do清單:兌現(xiàn)你的承諾、完成你開始做的事情、避免多重任務(wù),因為這些往往會讓你的生活產(chǎn)生混亂。

b.顧客的聲音——不把客戶置于決策的核心地位只會跟你們業(yè)務(wù)的原始目的相沖突。如果客戶不高興,即使你擁有世界上一流的專業(yè)知識和資源也不會起什么作用。保持符合客戶期望的解決方案、及時交付才能體現(xiàn)出項目的真正價值。

c.溝通——尤其是當(dāng)客戶和供應(yīng)商并不在同一地點的時候,明確而及時的溝通是填補服務(wù)空白的極好措施。主要集中在這三個方面你就能克服問題——進(jìn)行主題討論、清晰表達(dá)、干脆簡潔。

d.了解需求——在整個開發(fā)生命周期過程中,決定成功和失敗的之間的一個至關(guān)重要的區(qū)別將會給人留下深刻的印象。通過最初的頭腦風(fēng)暴法了解問題狀態(tài),以及后續(xù)的交貨程序,這其中都要和客戶完美配合。只有這樣,客戶才會贊賞你的工作,給你好評。

2. 對編碼不理智

古人云:善泅者溺,善騎者墮。但估計絕大多數(shù)的程序員都認(rèn)為自己的編程技術(shù)絕對的牛。而同樣真實的是,每一個代碼,讓不同的程序員去實現(xiàn)的話都會不可避免地發(fā)現(xiàn)它所存在的缺陷。所以說,只有通過在一個項目上的合作,程序員之間必然有的摩擦才能證明誰是最好的。健康的競爭是好事,但它不應(yīng)該成為一個本來可以成功的項目的負(fù)擔(dān)。

另一個創(chuàng)意阻礙是無法將預(yù)定義的模板使用在對你有利的開發(fā)項目里。幾乎所有的編程語言有一個很好的在線/內(nèi)置的代碼片段存儲庫,可以修補代碼,防止重新編程。然而,如果因為不理解需求或缺乏接觸各種可用庫/模板的話,這就意味著程序員最終會無意間將一開始就創(chuàng)建的代碼付之東流。這不僅增加了開發(fā)時間,也提高了總體成本。另外一點就是,發(fā)布了的代碼已經(jīng)經(jīng)過了質(zhì)量檢測,所以只有將它用作模板才能發(fā)揮它更大的價值。

3. 不一定什么都要被理解

如果你是剛調(diào)到這個團隊來的編程人員,對于手頭的工作并不是很熟悉,那該怎么辦?肯定是先看一些前任留下來的工作計劃,要是他寫的詳細(xì)倒也沒什么,如果寫的不詳細(xì),估計會讓你更加的撓頭。

因此,推己及人,在需要交代的工作上,最好是把任務(wù)寫的盡可能的詳細(xì)。這么做也是非常現(xiàn)實的原因:能夠把編程問題解決掉,最好是保證使用解釋性的語言和英語發(fā)音來表示變量。一些基本的指針可以讓你的程序更容易被理解,包括:

a. 把所有參數(shù)、引用、方法和變量名稱盡可能接近英語表達(dá)。保持文件名簡短但有助于理解的功能。

b. 使用++包裝文字是一個好辦法,能讓代碼和注釋更加清晰。

c. 將編寫的程序保持在一個連續(xù)的流程上,尤其是在使用OOP基礎(chǔ)上的語言:C#、C 和 C++。

d. 對于不同的代碼塊使用不同的描述名稱。

4. 不使用經(jīng)過驗證的工具和技術(shù)

程序員的好壞從他使用的編程工具和調(diào)試工具上就能看出。在異常情況的跟蹤上,下面就是程序員經(jīng)常會出現(xiàn)的常見錯誤。

對一些可能會對其它代碼有影響的常見案例進(jìn)行捕捉,處理這些比較常見的異常情況(而不是特殊的異常)意味著無意中除除掉了會抑制整個程序的殘留部分,因此并不會影響他人的代碼。

也許程序員可能帶有惡意的意圖來捕捉所有的異常情況,但即使是捕捉到了也不實施采取措施,這就是常說的“虛假安全閥”,這種異常處理手段是對整個軟件的穩(wěn)定和安全的一種妥協(xié)方式。

5. 較差的控制版本

在任何涉及多個團隊的項目里,當(dāng)談到版本控制的時候不去介紹使用最佳實踐都是一個十足的罪過。版本控制的目的是確保由一個人執(zhí)行的編輯或修訂不去影響另一個人的工作。

版本控制不僅有助于將由兩個或兩個以上的程序員的編輯工作合并到一起,還有助于跟蹤程序的更改歷史。所以說,任何開發(fā)團隊都應(yīng)該做一些好的改進(jìn)措施以確保強大的版本控制,這其中就包括:

為每個解決方案創(chuàng)建一個“邏輯單元”

給解決方案制定描述性的名稱

確保你所使用的都是最先進(jìn)的文件

頻繁的向團隊分享你所做的各種改變

6. 擁有最新信息的個人代表不了團隊

這是相對有趣的一點,所有的商業(yè)產(chǎn)品都想要以自身的敏捷技術(shù)和產(chǎn)品文化來給客戶留下深刻的印象,但是現(xiàn)實中很少有廠商會花時間去磨練他們員工在介紹產(chǎn)品特點上的技能。許多公司只是簡單地提供了一些基本的培訓(xùn),并且抱希望與員工在真實的日常項目里學(xué)到更多的技能。所以部門經(jīng)理和項目的直接領(lǐng)導(dǎo)可以通過以下兩個辦法來提高員工的業(yè)績:

一旦有新員工加入,就立刻強制安排他參加專業(yè)培訓(xùn),讓他知道他的角色是用來干什么的,盡早產(chǎn)生創(chuàng)造力。例如一個測試人與加入之后,就應(yīng)該向他介紹編程的理念,之后將培訓(xùn)重點放到測試實踐上,而不是繼續(xù)闡述編程的重要性。

現(xiàn)階段的技術(shù)的進(jìn)化程度比以往任何時候都要快,,所以要記住,定期培訓(xùn)是必不可少的,這是在給團隊創(chuàng)造價值。例如一個Web 設(shè)計師需要知道響應(yīng)式設(shè)計,提供給設(shè)計師大量的用戶日常使用的移動設(shè)備的不斷擴張的樣品,希望他們能獲得靈感。

7. 不恰當(dāng)?shù)臏y試

測試作為整個系統(tǒng)開發(fā)生命周期(Systems Development Life Cycle,簡稱SDLC)的重要一個要素,通常不需要開發(fā)團隊給出太驚人的結(jié)果。但是如果在測試環(huán)節(jié)沒有付出恰當(dāng)?shù)?、相?yīng)的努力的話,這是說不過去的。下面的一些方法或許對你的測試團隊有用,至少在你們交付產(chǎn)品的時候能夠給用戶一個好的交代。

單元測試

實物模型

綜合測試

8. 注意安全漏洞

有的時候在軟件開發(fā)過程中,就會遇見如下這樣的安全漏洞:

A、不同組件之間意想不到的交互作用:a、輸入不正確的驗證信息;b、SQL資料隱碼攻擊;c、跨網(wǎng)站指令碼;d、命令植入攻擊;e、跨站請求偽造(CSRF);

B、難以實施的資源管理,包括:a、不尊重可用內(nèi)存緩沖區(qū);b、對外控制;c、使用有潛在危險的功能;

9. 和客戶交流

最初的合同簽訂后,開發(fā)公司通常會忘記每天與客戶進(jìn)行產(chǎn)品上的信息交互,以至于在交貨的時候還需要進(jìn)行升級。兩大關(guān)鍵的交流點可以讓你和客戶保持更好的、更長的關(guān)系:

在客戶開問之前,開發(fā)方應(yīng)該和客戶進(jìn)行交流溝通。

和客戶保持周期性的交流。

10. 避免標(biāo)準(zhǔn)實踐面臨的迫在眉睫的最后期限

通常情況下項目都會遇到進(jìn)度延誤的現(xiàn)象。然而,這不是說你有理由去偷工減料或者是在開發(fā)或測試階段?;ㄕ?,未經(jīng)測試的模塊絕對是一個隱患,會讓你的開發(fā)團隊名譽受損的。一個更好的方法來管理延遲是提前告知客戶并且積極執(zhí)行延遲計劃。只要延期的理由是有效的,客戶應(yīng)該會理解,也會給你額外的時間來解決這個問題。

顯然,在項目的最后期限內(nèi),急急忙忙完成編程的質(zhì)量肯定不是特比保險,所以在交付之后開發(fā)團隊整體上會花更多的時間和努力來進(jìn)行跟蹤維護(hù),這樣的成本也是很巨大的,最好的辦法就在一開始就制定完美的執(zhí)行計劃。項目再造所耗費的資源或許是項目本身的成本的好幾倍,任何一個公司寧愿花更多的時間在初始開發(fā)上,這樣最終的產(chǎn)品一定會符合SDLC標(biāo)準(zhǔn),并在缺陷和不良問題上有足夠的話語權(quán)。對于顧客來說,時效性不能以犧牲質(zhì)量為代價,永遠(yuǎn)都不能。

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

    關(guān)注

    88

    文章

    3521

    瀏覽量

    93268
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    945

    瀏覽量

    29682
收藏 人收藏

    評論

    相關(guān)推薦

    程序員節(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)意盛宴,邀您共襄盛舉!

    適者生存,程序員最終會流向哪……

    程序員沒有永遠(yuǎn)的護(hù)城河??!就目前的互聯(lián)網(wǎng)大環(huán)境來看,it行業(yè)已經(jīng)是……
    的頭像 發(fā)表于 03-11 17:11 ?279次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會流向哪……

    2024程序員的未來方向如何走?還看今朝

    這幾年的IT行業(yè)想必大家已經(jīng)感受到了,Android、Java、前端等等程序員都經(jīng)歷了大廠……
    的頭像 發(fā)表于 02-02 09:45 ?686次閱讀
    2024<b class='flag-5'>程序員</b>的未來方向如何走?還看今朝

    誠邀報名 | GPT驅(qū)動的新程序員時代,開發(fā)者如何編程?

    2023開放原子開發(fā)者大會 . OPENATOM DEVELOPERS CONFERENCE GPT驅(qū)動的新程序員時代 我們該如何編程 2023.12.17 生成式AI正以旋風(fēng)般的速度重塑我們的工作
    的頭像 發(fā)表于 12-11 22:20 ?436次閱讀

    程序員表白程序

    電子發(fā)燒友網(wǎng)站提供《程序員表白程序.rar》資料免費下載
    發(fā)表于 11-21 10:41 ?0次下載
    <b class='flag-5'>程序員</b>表白<b class='flag-5'>程序</b>

    嵌入式程序員應(yīng)知道的幾個基本問題

    電子發(fā)燒友網(wǎng)站提供《嵌入式程序員應(yīng)知道的幾個基本問題.pdf》資料免費下載
    發(fā)表于 11-20 11:21 ?0次下載
    嵌入式<b class='flag-5'>程序員</b>應(yīng)知道的幾個基本問題

    智能低代碼洪流涌動程序員節(jié),華為云 Astro 觸發(fā) 1024 的乘法效應(yīng)!

    ? 從人工智能至量子計算,再到最新的云原生技術(shù),越來越多的榮耀被程序員斬獲。今年 1024 程序員節(jié),華為云 Astro 向全民致敬:「低代碼高產(chǎn)出?拓荒數(shù)字化版圖——人人皆是程序員」,為全球工程師
    的頭像 發(fā)表于 11-13 09:39 ?364次閱讀
    智能低代碼洪流涌動<b class='flag-5'>程序員</b>節(jié),華為云 Astro 觸發(fā) 1024 的乘法效應(yīng)!

    中軟國際鴻蒙生態(tài)實踐成果閃耀程序員節(jié),以智聯(lián)創(chuàng)新碼動程序世界

    10月24-25日,由中國軟件行業(yè)協(xié)會、中軟國際有限公司聯(lián)合主辦的2023中國程序員節(jié)活動在北京展覽館隆重舉辦。作為面向程序員群體的年度盛會,本屆中國程序員節(jié)以“技術(shù)創(chuàng)新與開源合作”為主題,盛邀院士
    的頭像 發(fā)表于 10-27 09:30 ?388次閱讀
    中軟國際鴻蒙生態(tài)實踐成果閃耀<b class='flag-5'>程序員</b>節(jié),以智聯(lián)創(chuàng)新碼動<b class='flag-5'>程序</b>世界

    一文速覽!拓維信息@1024程序員節(jié)精彩看點

    10月23日,第四屆“長沙·中國1024程序員節(jié)”在湖南長沙盛大開幕。自2020年首次啟動以來,1024程序員節(jié)已行至第四屆,以獨特的IT先鋒視角見證了新一代信息技術(shù)與經(jīng)濟社會發(fā)展深度融合的關(guān)鍵過程
    的頭像 發(fā)表于 10-25 08:15 ?469次閱讀
    一文速覽!拓維信息@1024<b class='flag-5'>程序員</b>節(jié)精彩看點

    喜迎1024程序員節(jié)!祝各位開發(fā)者們“碼”到“程”功!

    祝各位開發(fā)者們,節(jié)日快樂! 程序員(Programmer)是從事程序開發(fā)、維護(hù)的專業(yè)人員。 對于奮斗在一線的程序員們來說, 10月24日 是一個特殊的日子,這一天是屬于程序員們自己的節(jié)
    的頭像 發(fā)表于 10-24 20:00 ?604次閱讀
    喜迎1024<b class='flag-5'>程序員</b>節(jié)!祝各位開發(fā)者們“碼”到“程”功!

    今天程序員節(jié)長沙出招 全國首個!長沙為程序員打造“1024街”

    今天10月24日,今天程序員節(jié);先給程序員點贊,我們還看到有一些平臺舉辦了程序員節(jié);而在長沙,更有為程序員打造“1024街”。 昨天第四屆“長沙·中國1024
    的頭像 發(fā)表于 10-24 14:29 ?523次閱讀

    程序員節(jié) | 今年程序員們都想要的禮物竟然是……

    原文標(biāo)題:程序員節(jié) | 今年程序員們都想要的禮物竟然是…… 文章出處:【微信公眾號:微軟科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
    的頭像 發(fā)表于 10-24 10:35 ?406次閱讀
    <b class='flag-5'>程序員</b>節(jié) | 今年<b class='flag-5'>程序員</b>們都想要的禮物竟然是……

    “程”力來襲 2023中國程序員節(jié)即將在京開幕

    隨著科技的不斷進(jìn)步和經(jīng)濟的全球化,編程已成為當(dāng)今社會的重要組成部分,在眾多行業(yè)領(lǐng)域發(fā)揮著重要作用,同時也促進(jìn)了社會產(chǎn)業(yè)升級和創(chuàng)新突破。程序員通過編程正在深刻影響和改變著千行百業(yè),程序員
    的頭像 發(fā)表于 10-24 10:30 ?378次閱讀
    “程”力來襲 2023中國<b class='flag-5'>程序員</b>節(jié)即將在京開幕

    16位MCU和DSC程序員參考手冊

    電子發(fā)燒友網(wǎng)站提供《16位MCU和DSC程序員參考手冊.pdf》資料免費下載
    發(fā)表于 09-25 14:51 ?9次下載
    16位MCU和DSC<b class='flag-5'>程序員</b>參考手冊