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

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

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

萌新必看:五種小技巧幫助提升編碼技能

如意 ? 來(lái)源:讀芯術(shù)微信公眾號(hào) ? 作者:讀芯術(shù)微信公眾號(hào) ? 2020-10-20 15:15 ? 次閱讀

我在軟件行業(yè)已經(jīng)工作5年了,既和優(yōu)秀的程序員共事過(guò),也見(jiàn)過(guò)許多糟糕的程序員。我們被教育編寫(xiě)代碼以使程序正常運(yùn)轉(zhuǎn),新手通常非常關(guān)注輸出。如果代碼運(yùn)行良好,他們就會(huì)認(rèn)為事情已經(jīng)完成了,部分人甚至在未來(lái)的職業(yè)生涯中養(yǎng)成了這種習(xí)慣。

然而,一個(gè)優(yōu)秀程序員所應(yīng)該具有的最重要素質(zhì)之一,就是改進(jìn)自己代碼的能力。本文將討論五種改進(jìn)代碼的技巧,這將幫助新手以及更有經(jīng)驗(yàn)的程序員改進(jìn)他們的編碼。

每個(gè)程序員的編碼方式都不一樣。他們形成了一套自己習(xí)慣的方式來(lái)編寫(xiě)代碼。就像寫(xiě)字一樣,它是隨著練習(xí)而發(fā)展的,我們需要學(xué)習(xí)如何改進(jìn)這一過(guò)程。

把大部分時(shí)間花在分析上

大多數(shù)程序員在查看完需求后就直接開(kāi)始編碼,這種無(wú)知行為在軟件行業(yè)的菜鳥(niǎo)中相當(dāng)普遍。他們通常認(rèn)為編碼是解決方案的主要部分,但事實(shí)并非如此。一位高級(jí)開(kāi)發(fā)人員曾經(jīng)告訴我:用70%的時(shí)間分析,在剩下的時(shí)間里編碼。

這樣就不必在最后還花時(shí)間修復(fù)故障和優(yōu)化代碼。大多數(shù)人可以通過(guò)Google搜索邏輯來(lái)編寫(xiě)代碼,但是一個(gè)真正的程序員知道如何在匆忙進(jìn)行編碼之前進(jìn)行適當(dāng)?shù)姆治觥?/p>

怎么做:

無(wú)論何時(shí)處理何事,首先分析現(xiàn)有代碼,運(yùn)行并調(diào)試現(xiàn)有功能。然后必須想出一個(gè)解決方案,在其中可以添加功能而不破壞應(yīng)用程序的現(xiàn)有流程。做到了這一點(diǎn),就可以開(kāi)始編寫(xiě)代碼了。

尋找問(wèn)題的多種解決方案

大多數(shù)程序員都在尋找解決方案。找到之后,他們會(huì)面臨不同的問(wèn)題。然而,花更多時(shí)間尋找問(wèn)題的多種解決方案有很多好處:

邏輯思維將隨著時(shí)間而增強(qiáng)

可以從多個(gè)備選方案中選擇最佳解決方案

解決問(wèn)題的方法將有所改進(jìn)

這種方法將幫助你形成編程后期所需的批判性思維。優(yōu)秀的程序員應(yīng)提供多種解決方案,以便可以根據(jù)速度、內(nèi)存和其他因素選擇最佳方案。

怎么做:

如果無(wú)法找到多個(gè)解決方案,可以上網(wǎng)搜索。在StackOverflow和CodeProject等平臺(tái)上,肯定能找到解決問(wèn)題的替代方法。這樣,你就會(huì)慢慢養(yǎng)成針對(duì)單個(gè)問(wèn)題尋找更多解決方案的習(xí)慣。

不要只關(guān)注自己的事

至少對(duì)編碼來(lái)說(shuō)確實(shí)如此,你應(yīng)該嘗試定期閱讀其他人的代碼。

正如我所說(shuō),每個(gè)人都有獨(dú)特的編碼風(fēng)格。閱讀其他人的代碼將為我們提供更多有益的啟發(fā)。通過(guò)閱讀項(xiàng)目團(tuán)隊(duì)中其他開(kāi)發(fā)人員的代碼,我學(xué)到了很多東西。這也將幫助你了解全局。如果一直自己編寫(xiě)代碼,那么將不熟悉應(yīng)用程序的其他部分。

怎么做:

一旦完成自己的工作,就開(kāi)始閱讀其他開(kāi)發(fā)人員提交的代碼。這將有助于了解他們的思考過(guò)程,并進(jìn)一步了解產(chǎn)品

測(cè)試耐心

單元測(cè)試比大多數(shù)開(kāi)發(fā)人員意識(shí)到的更加重要。程序員認(rèn)為單元測(cè)試的主要目的是覆蓋代碼,但事實(shí)并非如此。單元測(cè)試可刪除不需要的代碼行,改進(jìn)代碼和程序的整體應(yīng)用性能。

怎么做:

堅(jiān)持為模塊編寫(xiě)單元測(cè)試用例。努力實(shí)現(xiàn)高達(dá)90%的代碼覆蓋率,并在此過(guò)程中刪除不必要的部分。盡量與其他開(kāi)發(fā)人員討論方案,以免錯(cuò)過(guò)任何重要的內(nèi)容。

在更新代碼之前自我充電

如果不了解最新的技術(shù)功能,那么如何確保自己的代碼是最新的呢?大多數(shù)軟件會(huì)隨著時(shí)間的流逝而消亡,正是因?yàn)殚_(kāi)發(fā)人員忽略了更新代碼以進(jìn)行優(yōu)化。例如下面的C#代碼:

在舊方法中,首先檢查對(duì)象是否為null,然后檢查該對(duì)象中的特定值是否可用。之后,我們才將該值分配給變量。

在新方法中,使用6.0版中引入的新C#功能。這樣可以直接查詢對(duì)象的屬性。并且在屬性為null的情況下,它不會(huì)引發(fā)null引用異常,而是返回null值。

怎么做:

關(guān)注科技博客,閱讀關(guān)于新功能的文章,并在項(xiàng)目中使用它們。如果可能的話,也嘗試在工作項(xiàng)目中應(yīng)用它們。這有助于自我提升,同時(shí)維持代碼的健康和更新。

不要僅僅滿足于找到解決方案,優(yōu)秀程序員的目標(biāo)是——尋找最優(yōu)解。
責(zé)編AJX

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

    關(guān)注

    6

    文章

    957

    瀏覽量

    54924
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2946

    瀏覽量

    66882
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    伺服電機(jī)編碼器故障及維修

    伺服電機(jī)編碼器故障及維修,伺服電機(jī)編碼器4大常見(jiàn)故障,編碼器信號(hào)丟失或不穩(wěn)定,編碼器零點(diǎn)偏移,編碼器過(guò)熱,
    的頭像 發(fā)表于 01-21 14:49 ?255次閱讀
    伺服電機(jī)<b class='flag-5'>編碼</b>器故障及維修

    模擬機(jī)對(duì)技能提升的影響

    在現(xiàn)代技術(shù)快速發(fā)展的今天,模擬機(jī)已經(jīng)成為各行各業(yè)技能培訓(xùn)不可或缺的工具。無(wú)論是航空、航海、醫(yī)療還是工業(yè)操作,模擬機(jī)都以其高效、安全、經(jīng)濟(jì)的特點(diǎn),為技能提升提供了一個(gè)理想的平臺(tái)。 一、模擬機(jī)的定義
    的頭像 發(fā)表于 01-02 18:09 ?322次閱讀

    全面提升電磁兼容技能,助力職業(yè)發(fā)展

    第九期EMC實(shí)戰(zhàn)特訓(xùn)營(yíng)SES課程介紹CourseIntroduction課程通過(guò)系統(tǒng)的課程設(shè)計(jì)和豐富的實(shí)踐經(jīng)驗(yàn),致力于提升學(xué)員在電磁兼容(EMC)領(lǐng)域的專業(yè)能力。通過(guò)案例分析和實(shí)際操作,學(xué)員能夠深入
    的頭像 發(fā)表于 12-05 01:03 ?377次閱讀
    全面<b class='flag-5'>提升</b>電磁兼容<b class='flag-5'>技能</b>,助力職業(yè)發(fā)展

    編碼器七常見(jiàn)故障解析

    器常見(jiàn)的七故障進(jìn)行深入解析,幫助用戶更好地理解和解決這些問(wèn)題。 一、信號(hào)不穩(wěn)定 信號(hào)不穩(wěn)定是編碼器常見(jiàn)的故障之一,表現(xiàn)為輸出信號(hào)波動(dòng)大,影響系統(tǒng)穩(wěn)定性。這通常是由于編碼器內(nèi)部線路接觸
    的頭像 發(fā)表于 11-25 08:58 ?1318次閱讀

    二進(jìn)制編碼器應(yīng)用場(chǎng)景 二進(jìn)制編碼器與模擬編碼器比較

    編碼器是將信息從一形式或格式轉(zhuǎn)換為另一形式的設(shè)備。在數(shù)字和模擬系統(tǒng)中,編碼器扮演著至關(guān)重要的角色。二進(jìn)制編碼器和模擬
    的頭像 發(fā)表于 11-06 09:45 ?571次閱讀

    風(fēng)華貼片電容物料編碼如何看?

    。例如,103表示10×103 pF = 10 nF。 2、電容精度: 編碼的第四位字母表示電容的精度。 F:±1% G:±2% J:±5% K:±10% M:±20% 3、溫度系數(shù): 編碼的第位字母表
    的頭像 發(fā)表于 11-04 15:33 ?291次閱讀
    風(fēng)華貼片電容物料<b class='flag-5'>編碼</b>如何看?

    磁電編碼器和光電編碼器的區(qū)別

    磁電編碼器和光電編碼器是兩不同類型的編碼器,它們?cè)谠?、結(jié)構(gòu)、性能和應(yīng)用領(lǐng)域上都有所不同。 磁電編碼器和光電
    的頭像 發(fā)表于 10-12 09:54 ?1590次閱讀

    晶閘管導(dǎo)通的情況

    晶閘管作為一重要的電力電子器件,其導(dǎo)通狀態(tài)受多種因素影響。以下是晶閘管導(dǎo)通的詳細(xì)情況,每種情況都結(jié)合了晶閘管的工作原理、結(jié)構(gòu)特性及外部條件進(jìn)行闡述。
    的頭像 發(fā)表于 08-27 16:25 ?2643次閱讀

    蔡司三坐標(biāo)測(cè)量技能提升培訓(xùn)服務(wù)

    伴隨著工業(yè)技術(shù)的不斷迭代與市場(chǎng)的持續(xù)變化,知識(shí)與人才儲(chǔ)備對(duì)企業(yè)發(fā)展越來(lái)越重要,蔡司致力于幫助企業(yè)高效地培育人才,提升測(cè)量知識(shí)以及產(chǎn)品應(yīng)用技能,以適應(yīng)技術(shù)革新和迎接市場(chǎng)挑戰(zhàn)。憑借對(duì)幾何測(cè)量理論與坐標(biāo)
    的頭像 發(fā)表于 06-18 11:47 ?426次閱讀
    蔡司三坐標(biāo)測(cè)量<b class='flag-5'>技能</b><b class='flag-5'>提升</b>培訓(xùn)服務(wù)

    如何通過(guò)SOLIDWORKS教育版提高學(xué)生技能培養(yǎng)未來(lái)人才?

    在當(dāng)今這個(gè)科技日新月異的時(shí)代,掌握先進(jìn)的數(shù)字化工具已經(jīng)成為了一項(xiàng)需備的技能。作為一款功能強(qiáng)大的3D CAD軟件,SOLIDWORKS教育版正是一個(gè)幫助學(xué)生提升技能、培養(yǎng)未來(lái)人才的重要工具。那么,如何通過(guò)SOLIDWORKS教育版
    的頭像 發(fā)表于 06-14 17:51 ?725次閱讀
    如何通過(guò)SOLIDWORKS教育版提高學(xué)生<b class='flag-5'>技能</b>培養(yǎng)未來(lái)人才?

    嵌入式軟件工程師如何提升自己?

    ,不斷提升自己的專業(yè)技能,保持與行業(yè)最新技術(shù)的同步。 3.積累項(xiàng)目經(jīng)驗(yàn) 項(xiàng)目經(jīng)驗(yàn)對(duì)于嵌入式軟件工程師的職業(yè)發(fā)展至關(guān)重要。通過(guò)參與實(shí)際項(xiàng)目,可以鍛煉自己的技能提高問(wèn)題解決能力和團(tuán)隊(duì)合作能力。建議積極參與
    發(fā)表于 06-12 11:20

    知行科技iDC系列產(chǎn)品獲得奇瑞歐達(dá)量產(chǎn)定點(diǎn)

    出海布局再下一城!知行科技iDC系列產(chǎn)品獲得奇瑞歐達(dá)量產(chǎn)定點(diǎn)
    的頭像 發(fā)表于 05-07 09:39 ?411次閱讀
    知行科技iDC系列產(chǎn)品獲得奇瑞歐<b class='flag-5'>萌</b>達(dá)量產(chǎn)定點(diǎn)

    好,自制一個(gè)桌面

    忙碌時(shí)光里相伴,治愈各種不開(kāi)心,誰(shuí)還沒(méi)有個(gè)夢(mèng)中“寵”了?想要的不離不棄,卻因?yàn)楦鞣N原因還在尋尋覓覓、猶猶豫豫……好,那就自制一個(gè)桌面寵物——今天特別分享@有出息的男孩_大佬的開(kāi)源佳作。簡(jiǎn)單可愛(ài)自帶憨態(tài),很適
    的頭像 發(fā)表于 02-24 08:04 ?2001次閱讀
    好,自制一個(gè)桌面<b class='flag-5'>萌</b>寵

    高清視頻編碼器選購(gòu)指南:如何選擇最適合你的編碼

    高清視頻編碼器作為視頻處理與傳輸?shù)暮诵脑O(shè)備,對(duì)于保證視頻質(zhì)量和提升用戶體驗(yàn)至關(guān)重要。然而,市面上的高清視頻編碼器種類繁多,功能各異,如何選擇最適合自己的編碼器成為了一個(gè)關(guān)鍵問(wèn)題。本文將
    的頭像 發(fā)表于 02-20 15:19 ?1240次閱讀

    優(yōu)秀電源工程師需要哪些必備技能?

    就帶大家細(xì)數(shù)一下優(yōu)秀電源工程師具備的那些技能。一、新手必備課程成為一名電源高手需要扎實(shí)的理論基礎(chǔ),涉及電路原理、語(yǔ)言編程和控制理論等多個(gè)學(xué)科領(lǐng)域。為了幫助大家更好地掌握電源開(kāi)發(fā)相關(guān)的關(guān)鍵知識(shí)點(diǎn),我們整理
    發(fā)表于 01-29 11:29