中文字幕 日本 在线 高清,久久精品国产99精品国,超碰人人香蕉,一区二区三区无码高清视频

我作為初級開發(fā)人員犯的編碼錯誤(我作為初級開發(fā)人員犯的編碼錯誤怎么辦)

希望您在第一份工作編寫代碼時都遇到困難

我作為初級開發(fā)人員犯的編碼錯誤(我作為初級開發(fā)人員犯的編碼錯誤怎么辦)

> Photo by Atul Choudhary from Pexels

您在軟件工程或數(shù)據(jù)科學(xué)領(lǐng)域的第一份工作可能會使人士氣低落。 特別是如果您沒有后臺編寫代碼。

我經(jīng)常收到人們的信息,要求他們提出改進(jìn)建議。 但是他們真正需要的是有人告訴他們-"您可以做到!"

以下是我在第一份軟件工程工作中親自犯的錯誤。 如果您遇到困難,這應(yīng)該會讓您感覺更好。

1.編寫比可讀代碼更聰明的代碼

編寫好的代碼很難。 了解錯誤的代碼更加困難。 但這剛開始時并不直觀。

值得慶幸的是,我有一個高級開發(fā)人員,他不止一次地就以下幾點提出了建議。

· 同一行上有多個嵌套的if / else語句

· 過多使用鏈?zhǔn)椒椒?/p>

· 正則表達(dá)式從堆棧溢出復(fù)制/粘貼而沒有評論

· 過度抽象

將邏輯壓縮到盡可能小的空間,讓我感到很聰明。 但這也使我的代碼不可讀。 現(xiàn)在,我總是嘗試在可讀性方面犯錯誤。

調(diào)試的難度是一開始編寫代碼的兩倍。 因此,如果您盡可能聰明地編寫代碼,就定義而言,您就不夠聰明,無法對其進(jìn)行調(diào)試。-克尼根定律

2.使用沒有上下文的變量名

想出好的變量名非常困難,我想盡快完成票證。

因此,我選擇突然出現(xiàn)的名字。

· 用戶的姓氏變?yōu)閡ln。

· 一系列電子郵件變成了陣列。

兩者都是不好的主意,這使任何人都很難理解我寫的內(nèi)容(包括我自己)。

3.允許安全漏洞

在另一種情況下,我要感謝一位出色的高級開發(fā)人員,他將我的代碼免于遭到黑客攻擊。

我已完成以下所有操作:

· 允許SQL注入

· 允許通過URL跳轉(zhuǎn)訪問受限頁面

· 僅使用前端驗證

· 具有增量ID的命名空間URL

建立了一份關(guān)于最佳安全實踐的心理檢查清單花了很長時間,我現(xiàn)在在檢查其他開發(fā)人員的代碼時會使用該清單。

4.閱讀功能票后立即編寫代碼

花一個星期花在某個功能上,然后意識到它的錯誤功能令人尷尬。 我已經(jīng)完成了不止一次。

屏住呼吸,了解業(yè)務(wù)問題,并為之計劃代碼對工程師來說是一個巨大的乘數(shù)。

從中學(xué)到的東西,我讓我自己的啟動中的新開發(fā)人員在開始之前詳細(xì)計劃票。 此級別的微型計劃有助于理清思路并開發(fā)更有效的解決方案。

5.評論太多或太少

一開始我什么也沒評論。

然后,我經(jīng)歷了一個階段,對每一行進(jìn)行評論。 一個名為add_two_numbers的方法將被注釋為#,將兩個數(shù)字相加。 這太多了。

回想起來,直到我閱讀了其他開發(fā)人員編寫的足夠的代碼并注意到我希望他們添加注釋的位置后,才單擊正確的注釋數(shù)量。

6.推送重復(fù)和未使用的代碼

我已完成以下所有操作:

· 應(yīng)用程式中已存在的書面功能

· 左自動生成但未使用的文件(即:測試文件)

· 添加了未使用的軟件包

一些框架會自動生成許多不必要的文件。 當(dāng)您開始使用應(yīng)用程序時,您也不知道所有現(xiàn)有代碼。

有趣的是,我發(fā)現(xiàn)避免這些問題的最佳方法是先仔細(xì)閱讀您詳細(xì)編寫的代碼,然后再提交進(jìn)行審核。

7.編寫低效的數(shù)據(jù)庫查詢

當(dāng)我開始第一份工作時,我對數(shù)據(jù)庫一無所知。 我大概花了一年時間才弄清楚數(shù)據(jù)庫索引。

那時,我編寫了很多N 1查詢,并創(chuàng)建了db表來存儲大量沒有索引的數(shù)據(jù)。

兩者都是令人討厭的緩慢應(yīng)用程序的配方。

8.使用基于錯誤的條件邏輯

條件if / else語句是軟件的核心部分。

偽代碼中,它們通??雌饋硐襁@樣。

if x is true do this

else do that

但是我為自己的投資組合編寫的第一個應(yīng)用程序充滿了這樣的邏輯。

do this

if this fails do that

有時我們需要挽救錯誤,例如遇到不可靠的API時。 但這應(yīng)該是例外,而不是常規(guī)。

9.提交包含多個功能的代碼以供審核

我學(xué)到的第一件事是不在同一個請求請求中合并多個功能。 審核代碼的人不好。

超過幾百行可能會使其他人很難在精神上走過不同的執(zhí)行路徑。

有時,這是票證范圍不佳的結(jié)果。 因此,我總是告訴新開發(fā)人員,如果他們認(rèn)為可以將票證進(jìn)一步細(xì)分為子票證,則應(yīng)推遲。 越小越好。

結(jié)論

學(xué)習(xí)編寫軟件非常困難。 您只能通過做中學(xué)到一百個動人的作品。

我希望閱讀有關(guān)我的摸索的文章能使您在掙扎中感到更好。

對我最大的幫助是讓一位高級開發(fā)人員對我提交的每段代碼都提供了詳細(xì)的反饋。 找到可以得到的公司/團(tuán)隊。 這是最快的改進(jìn)方式。

(本文翻譯自Chris的文章《Coding Mistakes I Made As A Junior Developer》,參考:https://towardsdatascience.com/coding-mistakes-i-made-as-a-junior-developer-e151dd3b3c7d)

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。

(0)
上一篇 2024年5月14日 上午9:56
下一篇 2024年5月14日 上午10:08

相關(guān)推薦

  • 工程項目管理軟件的作用

    工程項目管理軟件的作用 工程項目管理軟件是一種用于管理工程項目的軟件工具,能夠幫助項目經(jīng)理和項目團(tuán)隊更好地規(guī)劃和執(zhí)行項目任務(wù)。本文將介紹工程項目管理軟件的作用,以及如何使用這些軟件…

    科研百科 2024年7月23日
    2
  • 程序員學(xué)Python還是Java-分析了8張圖后得出這個結(jié)論

    專注于Java領(lǐng)域優(yōu)質(zhì)技術(shù)號,歡迎關(guān)注 Java和Python兩門語言都是目前非常熱門的語言,可謂北喬峰南慕容,二者不分上下,棋逢對手。但是對于初學(xué)者來說,非常困惑,因為時間和精力…

    科研百科 2024年5月16日
    44
  • 統(tǒng)計局科研項目申報

    統(tǒng)計局科研項目申報 隨著社會經(jīng)濟(jì)的不斷發(fā)展,統(tǒng)計局在統(tǒng)計調(diào)查、數(shù)據(jù)分析等領(lǐng)域發(fā)揮著越來越重要的作用。同時,隨著科技的進(jìn)步,統(tǒng)計局也需要不斷創(chuàng)新,提高數(shù)據(jù)處理和分析方法的科學(xué)性和規(guī)范…

  • 獨立游戲開發(fā)

    獨立游戲開發(fā):探索游戲制作的奇妙之旅 獨立游戲開發(fā)是游戲行業(yè)中最受歡迎的趨勢之一。對于那些想要創(chuàng)建自己的游戲或者想要挑戰(zhàn)自己的人來說,這是一項充滿機(jī)遇和挑戰(zhàn)的工作。在這篇文章中,我…

    科研百科 2024年11月9日
    0
  • 學(xué)位論文科研項目支撐

    學(xué)位論文科研項目支撐: 人工智能在醫(yī)療領(lǐng)域的應(yīng)用研究 摘要: 人工智能在醫(yī)療領(lǐng)域的應(yīng)用研究已經(jīng)成為當(dāng)前研究的熱點。本文主要介紹了人工智能在醫(yī)療領(lǐng)域的應(yīng)用,包括人工智能輔助診斷、人工…

    科研百科 2025年4月4日
    2
  • 科研能力包括哪些方面_(教育科研能力包括哪些方面)

    感謝您關(guān)注“永大英語”! 小學(xué)英語教師教育科研的實證研究樊彥清 王托兄 摘要:教育科研是提高教育教學(xué)質(zhì)量的先導(dǎo),是促進(jìn)教師專業(yè)化發(fā)展的根基。本文以教育科研意識、教育科研理論知識、教…

    2022年5月12日
    890
  • 科研項目管理工作職責(zé)(科研項目管理工作內(nèi)容有哪些)

    科研項目管理工作內(nèi)容有哪些 科研項目管理工作是科研項目管理中至關(guān)重要的一部分,涉及到項目計劃、進(jìn)度控制、成本預(yù)算、風(fēng)險管理、質(zhì)量控制等多個方面。以下是一些科研項目管理工作的內(nèi)容: …

    科研百科 2024年4月4日
    79
  • cis科研項目成都校區(qū)

    cis科研項目成都校區(qū) 隨著信息技術(shù)的不斷發(fā)展,cis(Customer Information System)科研項目已經(jīng)成為企業(yè)數(shù)字化轉(zhuǎn)型的重要方向之一。cis科研項目成都校區(qū)…

    科研百科 2025年3月11日
    1
  • 科研項目現(xiàn)場查定意見

    科研項目現(xiàn)場查定意見 隨著科技的不斷發(fā)展,科研項目已經(jīng)成為了現(xiàn)代社會中不可或缺的一部分。然而,在項目進(jìn)行過程中,常常會出現(xiàn)一些問題,例如設(shè)備故障、數(shù)據(jù)不準(zhǔn)確、研究方向不符合預(yù)期等等…

    科研百科 2025年4月17日
    1
  • 信息系統(tǒng)項目管理師 csdn

    信息系統(tǒng)項目管理師 CSDN 隨著信息技術(shù)的不斷發(fā)展,信息系統(tǒng)項目管理師這個職位也逐漸被人們所關(guān)注。作為一個負(fù)責(zé)項目計劃、執(zhí)行、控制和評估的專業(yè)人員,信息系統(tǒng)項目管理師在信息技術(shù)領(lǐng)…

    科研百科 2025年1月24日
    1