成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

怎樣度過第一份編碼工作的艱難時期?

開發(fā) 前端
本文總結(jié)了我在第一份軟件工程工作中犯的錯誤。假如你和那時的我一樣,正在經(jīng)歷艱難的日子,這篇文章應(yīng)該能夠給你幫助。

本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)

軟件工程或是數(shù)據(jù)科學(xué)對于很多人來說,實在不是一件容易的事。特別在沒有編碼經(jīng)驗的情況下,如果第一份工作是在這兩個領(lǐng)域,會讓人士氣低落。

我常常收到“尋求改進(jìn)方法”的留言或者私信。但事實上,你真正需要的是有人對你說“你能做到!”

本文總結(jié)了我在第一份軟件工程工作中犯的錯誤。假如你和那時的我一樣,正在經(jīng)歷艱難的日子,這篇文章應(yīng)該能夠給你幫助。

[[330804]]

1. 巧妙即可,無需可讀

寫好代碼很難,理解錯誤的代碼更難。剛開始時我們很可能難以直觀理解,有一個高級開發(fā)人員就以下問題提出了建議:

  • 過度抽象
  • 同一行上有多個嵌套的if/else語句
  • 過度使用鏈?zhǔn)椒椒?/li>
  • 從堆棧溢出復(fù)制或粘貼正則表達(dá)式,不帶注釋

將邏輯壓縮到盡可能小的空間里,使筆者自覺很聰明。但代碼的可讀性就消失了。根據(jù)克尼根定律:調(diào)試的難度是編寫代碼的兩倍。因此,如果讀者盡可能巧妙地編寫代碼,那么根據(jù)定義,就因為不夠聰明而無法對其進(jìn)行調(diào)試。

2. 提交審閱的代碼合并了多個功能

筆者最先學(xué)到的事項之一,就是不要在同一個請求中組合多個特性。這對于審查代碼的人并不友好。超過幾百行的代碼,會讓其他人很難在腦海中走一遍執(zhí)行過程。

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

3. 使用無上下文的變量名

想出好的變量名非常困難,但那時我很想要盡快完成它。所以筆者選擇了腦海中浮現(xiàn)的第一個名字。

  • 用戶的姓氏是uln。
  • 一組電子郵箱是array。

兩者都不算好主意,并且使得任何人都很難理解所寫內(nèi)容,甚至包括筆者自己。

4. 讀取特性Ticket后立即編寫代碼

[[330805]]

圖源:pexels

花一周的時間在一個特性上,然后才意識到這一特性是錯誤的,這實在是太尷尬了,然而筆者不止一次犯過這個錯誤。

放松心態(tài),理解業(yè)務(wù)問題,并且圍繞其規(guī)劃代碼,這對于工程師而言工作量很大。從中吸取教訓(xùn),在筆者自己的創(chuàng)業(yè)計劃開始之前,讓新的開發(fā)人員詳細(xì)規(guī)劃一些tickets。這種微觀規(guī)劃水平有助于理清思路,制定更有效的解決方案。

5. 注釋過多或過少

最初,筆者沒有任何注釋。

第二階段時,筆者每一行都有注釋。add_two_numbers的函數(shù)將會有著 # adds 2 numbers的注釋。這就有點矯枉過正了。

回想一下,直到筆者閱讀了其他開發(fā)人員編寫的足夠多的代碼,并且注意到希望他們添加注釋的地方,才明白了注釋的真正用處和正確數(shù)量。

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

筆者做了如下所有工作:

  • 已存在于應(yīng)用程序中的書面功能
  • 保留自動生成但未使用的文件(即:測試文件)
  • 添加了未使用的軟件包

有些框架會自動生成許多不必要的文件。當(dāng)開始使用一個應(yīng)用程序時,也不知道所有的現(xiàn)有代碼。筆者發(fā)現(xiàn),避免這些問題的最佳方法是,在提交代碼供審閱之前,一定要仔細(xì)閱讀自己編寫的代碼。

圖源:unsplash

7. 允許安全漏洞

筆者很感謝一位出色的高級開發(fā)人員,使筆者的代碼免受黑客攻擊。我做了下述所有操作:

  • 允許SQL注入
  • 允許通過URL跳轉(zhuǎn)訪問受限頁面
  • 僅用于前端驗證
  • 具有增量ID的命名空間URL

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

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

筆者在開始第一份工作時,對數(shù)據(jù)庫一無所知。大概花了一年的時間才弄明白數(shù)據(jù)庫索引。

那時我寫了很多N+1 queries,并且創(chuàng)建了db表來存儲大量沒有索引的數(shù)據(jù)。這兩者都是應(yīng)用程序緩慢而讓人煩悶的原因。

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

條件語句if/else是軟件的核心部分。在偽代碼中,它們通常是這樣的:

  1. if x is true 
  2.   do this 
  3. else 
  4.   do that 

但是筆者在編寫自己的第一個投門磚軟件時,就充滿了如下的邏輯:

  1. do this 
  2. if this fails 
  3.   do that 

有時需要挽救一個錯誤,比如當(dāng)碰到一個不可靠的API時。偶爾出現(xiàn)這樣的問題是可以的,但這不能是常態(tài)。

編寫軟件是一件困難但充滿成就感的事,實踐能讓我們很快成長起來。正處于困難的時期的小伙伴們,但行好事,莫問前程,結(jié)果會在你努力的過程中悄悄地來。

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2010-08-10 13:54:49

第一份工作

2015-12-17 15:15:08

自學(xué)編程找工作

2009-06-11 08:21:04

2009-09-22 14:35:35

第一份中文電子雜志

2023-03-06 08:38:23

web3工作

2009-09-22 17:30:00

計算機世界

2021-01-07 15:10:30

程序員書單編程

2018-05-15 08:39:31

開發(fā)GitAzure

2017-08-14 11:19:42

小程序

2020-12-01 12:00:30

網(wǎng)絡(luò)犯罪勒索軟件黑客

2014-08-28 15:21:03

Linux面試

2021-01-11 17:40:04

技術(shù)資訊

2021-01-13 09:51:00

程序員技能開發(fā)者

2018-10-30 13:18:31

阿里校招薪資

2019-01-02 07:43:51

機器學(xué)習(xí)人工智能學(xué)歷

2021-05-17 09:30:51

編碼IDE工具

2013-05-23 13:32:30

編程攻誠獅工程師

2015-12-02 10:02:30

程序員找工作
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 草草草久久久 | 欧美一级高潮片免费的 | 亚洲精品一区在线观看 | 精品视频一区二区三区 | 日韩三级免费观看 | 亚洲国产高清高潮精品美女 | 中文字幕日韩一区 | 国产成人精品a视频一区www | 极品在线 | 国产激情一区二区三区 | 日韩在线免费 | 亚洲国产福利视频 | 久久久精彩视频 | 成人av电影在线观看 | 国产精品久久久久久久久图文区 | 欧美视频二区 | 久久之精品 | 免费成人在线网 | 精品欧美乱码久久久久久1区2区 | 久草免费在线视频 | 新91视频网 | 日韩一区二区三区视频在线播放 | 欧美一区二区三区的 | 麻豆一区 | 久久天堂 | 欧美中文字幕一区二区三区亚洲 | 久久精品免费 | 欧美一区二区三区 | 午夜免费网站 | 在线高清免费观看视频 | 久久久久久国产精品久久 | 在线国产视频观看 | 久久高清免费视频 | 激情 亚洲 | 青草福利| 在线视频 欧美日韩 | 欧美日日 | 夜夜精品浪潮av一区二区三区 | 超碰成人在线观看 | 日韩中文字幕在线 | 激情av网站 |