国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

一篇百萬年薪程序員博文,Python程序員心得,我視它為生存指南!

開發 后端
我個人認識一些非常有才華的開發人員,他們可以一帆風順地創建極好的軟件。正是這些天賦人士,使得外行人對我們這個行業充滿了很高的期望。但我要說的一個可悲的事實是:并非每個人都是忍者/大師/明星開發者。

我個人認識一些非常有才華的開發人員,他們可以一帆風順地創建極好的軟件。正是這些天賦人士,使得外行人對我們這個行業充滿了很高的期望。但我要說的一個可悲的事實是:并非每個人都是忍者/大師/明星開發者。

我就不是這些閃耀的新星,我只是一名平庸的開發者。如果你也不是天才玩家,那么本文將指導你如何在這個行業中生存下去。

最簡單的事情——只要google一下

我記不了很多東西。像標準庫中的函數和方法、參數位置、軟件包名稱,樣板代碼等等,都在我腦容量之外。

所以,我必須使用google搜索。我每天都這樣做。我也一直在重復使用舊項目的代碼。有時我甚至從StackOverflow或Github復制粘貼答案。是的,我的開發其實可稱之為:StackOverflow驅動開發。

但我并不孤單。許多其他開發人員也這樣做。有一個受眾面很廣的twitter討論就是由Ruby on Rails的創建者所啟動的。

那么,為什么一開始會認為這種行徑是不好的呢?因為它有若干缺點:

  • 會導致你復制到糟糕的設計決策或易受其他人攻擊的代碼
  • 會形成一種依賴心態:要是我們不能google到內容,那么只能向人求助了
  • 沒有網就不能工作

但是,我不認為這些是大問題。它甚至可以作為是你的秘密武器。我有一些建議可用于減少其負面影響。

生存指南:

  • 使用IDE來獲得自動完成和建議,所以你不必google編程語言的基礎內容;
  • 記住你曾解決過這個問題的地方(而不是如何解決的)。這樣你便可以隨時在那里找到解決方案;
  • 所有粘貼到項目中的代碼你稍后都應該進行分析、重構和審查。這樣我們在快速提供解決方案的同時也不會損壞項目。

一切保持簡單明了

我們說什么,機器就做什么。即便是錯的,它們也毫不遲疑。所以,軟件開發中的主要問題不是機器,在于開發人員的心智能力。而這玩意提升的空間是非常有限的。所以,我們——作為平庸的開發人員——不能將有限的腦力浪費在創建復雜的抽象、模糊算法或不可讀的長代碼塊上。你需要保持一切簡單明了。

但是,我們怎么判定代碼是簡單還是復雜?我們使用WTFs / Minute方法來衡量代碼質量。

這個原則很容易理解。每當你在代碼中發現一些你不明白的東西時——哦,這太復雜了。怎么做呢?

  • 重寫,使設計更干凈
  • 提供文檔
  • 給最棘手的部分添加注釋。但請記住,注釋應該描述的是代碼本身

如何從頭開始保持簡單明了

  • 對變量、函數和類使用正確的名稱
  • 確保程序的每個部分只做一件事
  • 純函數優于正則函數
  • 正則函數優于類
  • 僅在強烈需求的情況下使用類

不自信的我

一些開發人員會證明自己可以提供高質量的代碼。請看圖中的這位女士:阿波羅登月計劃的首席軟件工程師Margaret Hamilton。那幾乎有她人那么高的是什么呢?好吧,那正是她為登月任務編寫的代碼:

[[236774]]

但是,每當我編寫任何代碼時——我都不自信。即使是項目最簡單的部分,我也可以把事情搞得一塌糊涂。搞糟的原因包括:

  • 語言錯誤
  • 邏輯錯誤
  • 設計錯誤
  • 樣式錯誤
  • 安全錯誤
  • WTF錯誤(我向來最為喜歡的!)

關于“學習如何編寫沒有bug的代碼”的魔法書是不存在的。因為所有軟件都有bug——除了這個框架之外。遇到bug我們就應該處理掉。

關鍵要點是:每個人編寫的代碼都不應該帶有明顯的錯誤。對的,至少,我們應該朝著這個目標去做。但是我是如何保護我的項目免受我的摧殘呢?方法很多。

生存指南:

  • 編寫測試。編寫很多測試。從集成測試到單元測試。在每次pull請求前在CI中運行測試。這可以避免一些邏輯錯誤;
  • 使用靜態類型或可選的靜態類型。例如,我們在python中使用mypy,在javascript中使用flow。積極作用:更清潔的設計和“編譯時”檢查;
  • 使用自動樣式檢查。每種語言都有很多樣式檢查器;
  • 使用質量檢查。有些工具在你的代碼庫上運行一些復雜的啟發式算法來檢測不同的問題,比如這個代碼行內有太多的邏輯,這個類是不需要的,這個函數太復雜了;
  • 審查你的代碼。在合并為master之前對其進行審查。以及合并后的某個時間也是如此;
  • 付錢讓其他人來審核你的代碼。此手段可以產生巨大的積極影響!因為如果是陌生的開發人員來查看你的代碼,他們更容易發現不一致和糟糕的設計決策。

不僅適用于我

大約十年前,在我的團隊開發出我們的第一個大型軟件項目時,我們將其作為java源文件發布。然而,它無法在目標服務器上編譯。這距離需要提交給客戶只有若干小時了。這是一個巨大的失敗!最后我們用盡辦法終于能夠啟動并運行了,但不可否認這真的是一次刻骨銘心的體驗。

發生這種情況是因為構建管道中存在眾多配置和復雜性。而我們無法妥善管理這個系統的復雜性。所以,從那一天起,為了減少這種復雜性,我嘗試在隔離的環境中打包我的程序。并且在實際部署發生之前在這個環境中測試它們。

在docker(通常還有容器)崛起的近幾年,事情變得簡單起來。docker允許你在相同的隔離環境中運行開發、測試和生產。所以,你永遠不會錯過任何重要的事情。

那么你會怎么做?說說我自己,我在創建服務器、初始配置或連接的時候總是會忘記一些事情。因為有這么多需要記住的事情!幸運的是,這些我們都可以自動化。有很多不同的工具可以自動化部署過程,這些工具厲害極了,如:terraform,ansible和packer。閱讀工具信息,找出實際需要哪一個用于任務。

我也嘗試盡快建立CI / CD。這樣,如果我的構建在測試或部署中失敗,那么就會有報告發我。

生存指南:

  • 自動化用于部署的任何內容;
  • 使用docker進行應用程序開發、測試和部署;
  • 使用部署工具。

應用程序部署后,我仍然不自信

終于,我的應用程序已經進入了產品階段。它可以工作了。我可以休息休息,應該不會出什么問題了。等等,不!一切都崩潰了。是的,我沒有說錯:一切。

實際上,有一些工具可以使得查找和解決現有問題更加容易。

  • Sentry。當你的任何用戶發生錯誤時——你將收到通知。幾乎綁定了所有編程語言;
  • 使用不同的服務和工具將多個進程和服務器的日志收集到一個地方;
  • 服務器監控。這是你可以為CPU,磁盤,網絡和內存配置顯示器的地方。你甚至可以在用戶實際破壞你的服務之前發現需要增加的時間

簡而言之,我們需要監控生產中的應用。我們有時使用所有這些工具,有時只使用最需要的部分。

學無止境

需要學習的東西是無窮的。如果我們想編寫出好的軟件,那么我們需要不斷地學習怎么做。沒有捷徑也沒有魔法。每天進步一點點,就會越來越好。

總之,我們需要理解兩件基本的事情:

  • 每個人都會遇到問題。關鍵是我們得對這些問題做好準備;
  • 我們可以將問題的源頭控制到一些可接受的水平。

這些與你的心智能力或心態無關。 

責任編輯:龐桂玉 來源: 今日頭條
相關推薦

2020-03-30 08:30:53

年薪程序員水貨

2018-04-23 11:00:06

程序員養生健康

2011-07-12 13:35:04

程序員

2019-09-21 21:25:04

程序員代碼優雅代碼

2015-07-28 17:58:22

程序員指南

2013-07-04 13:50:14

2012-03-06 09:22:46

程序員

2013-08-20 09:33:59

程序員

2009-06-22 09:06:57

程序員技術升級

2009-03-26 09:22:05

2021-02-20 13:55:35

程序員計算機技術

2013-07-24 14:17:10

2020-05-06 08:21:37

程序員年薪能力

2019-01-23 09:10:37

2009-05-21 15:58:12

程序員工作經驗職場

2011-05-13 14:34:02

程序員

2013-04-17 10:28:40

程序員

2018-12-29 10:08:34

程序員年薪互聯網

2021-04-20 16:51:07

程序員技術開發

2022-07-20 16:57:18

程序員高薪職業
點贊
收藏

51CTO技術棧公眾號

国产一区二区日韩| 成人福利在线| 综合中文字幕| 蜜桃一区二区三区在线观看| 一区二区三区免费观看| 日本不卡一区| 理论片一区二区在线| 欧美一区二区久久久| 手机看片福利盒子久久| 自拍偷拍亚洲图片| 欧美日韩综合在线| 超碰成人福利网| 国产成人亚洲综合色影视| dy888夜精品国产专区| 欧美1区二区| 最近中文字幕日韩精品| 色综合久久久久综合一本到桃花网| 亚洲欧美激情视频在线观看一区二区三区 | 天堂俺去俺来也www久久婷婷| 日韩精品小视频| 99re在线视频| 午夜精品久久久久| 亚洲va男人天堂| 狼人天天伊人久久| 久久精品视频免费播放| 国产ktv在线视频| 97国产一区二区| 中国成人在线视频| 久久精品主播| 久久天堂国产精品| 欧美影视资讯| 精品国产污污免费网站入口| 成人精品一区| 欧美午夜激情在线| 精品乱码一区二区三四区视频| 亚洲超碰精品一区二区| 黄页免费在线| 99热精品在线观看| 91久久精品国产| 欧美激情网站| 欧美成人高清电影在线| a免费在线观看| 精品奇米国产一区二区三区| 欧美xxxx免费虐| 亚洲国产精品va在线| 国产在线xxx| 中文字幕亚洲欧美在线不卡| 能在线观看的av| 久久一夜天堂av一区二区三区| 国产一二三在线视频| 成人av免费在线播放| www.av蜜桃| 久久老女人爱爱| 久久99亚洲热视| 国产午夜精品一区在线观看| 欧美激情日韩图片| 老司机成人在线| 国产精品香蕉国产| 国产在线成人| 亚洲国产精品久久久久婷婷老年 | 欧美成人午夜影院| 午夜国产在线| 日本韩国精品在线| 宅男在线观看免费高清网站| 99久久精品一区| 熟妇人妻va精品中文字幕 | 久久久久久久久一区| 亚洲午夜国产成人| 欧美夫妻性视频| 欧美亚洲精品在线| 精品日本一区二区| 国产一区高清在线| 欧美日韩中文不卡| 99在线热播精品免费99热| 日韩aⅴ视频一区二区三区| 国产精品一二二区| jlzzjlzz欧美| 成人av午夜影院| 少妇一级淫免费播放| 日韩欧美亚洲一二三区| 宅男在线观看免费高清网站| 国产一区二区成人| 精品久久久久中文字幕小说| 在线日韩欧美视频| 欧美福利在线播放网址导航| 草莓视频一区| 国产精品69毛片高清亚洲| 涩涩漫画在线观看| а√天堂在线官网| 日韩中文字幕精品| 日韩av黄色| 激情综合亚洲精品| 51xx午夜影福利| 欧美二区不卡| 日韩久久免费av| 九色丨porny丨| 欧美日韩国产精品一区| 欧美午夜小视频| 18成人在线观看| 视频在线这里都是精品| 午夜免费在线观看精品视频| 欧美精品高清| 日韩欧美精品三级| 视频国产精品| 久久精品第九区免费观看| 国产在线日韩欧美| 精品精品导航| 日韩一区二区三区在线观看 | 国产喂奶挤奶一区二区三区| 九色网友自拍视频手机在线| 国产性色av一区二区| 女主播福利一区| 国产美女主播在线| 欧美美女喷水视频| 日韩美一区二区三区| 成人一对一视频| 精品国精品国产自在久国产应用| 日本视频一区二区在线观看| 亚洲欧洲在线观看av| 看黄在线观看| 高清国语自产拍免费一区二区三区| 久久中文娱乐网| 三级网站视频在在线播放| 国产精品国语对白| 精品久久国产| 一二三四视频社区在线| 欧美疯狂做受xxxx富婆| 97精品国产| 成人高清免费| 久久视频免费在线播放| 青草av.久久免费一区| 亚洲高清在线播放| 第一福利永久视频精品| 日韩有码av| 激情网站五月天| 亚洲免费视频网站| 99久久er| 日韩在线国产| 欧美夫妻性生活| 国产一区二区三区四区三区四| 日本1区2区3区中文字幕| 国语自产精品视频在线看一大j8| 99久久人爽人人添人人澡| 欧美性在线观看| 北岛玲一区二区三区四区| 国产无遮挡裸体视频在线观看| 美女黄毛**国产精品啪啪| 一本到不卡精品视频在线观看| 精品国产视频| 1024手机看片国产| 国内自拍欧美激情| 国产丝袜美腿一区二区三区| 成人精品一区二区三区电影| 中文字幕久久综合| 亚洲欧美另类国产| 国产精品一区二区你懂的| 一本大道色婷婷在线| 伊人中文字幕在线| 国产日韩在线一区| 欧美日韩国产色| 男人的j进女人的j一区| 国产欧美自拍视频| 久久人人精品| 野外做受又硬又粗又大视频√| 日韩免费一区二区| 日韩成人一区二区| 超碰97国产精品人人cao| 图片区小说区区亚洲五月| 99国产精品久久久久| 91在线成人| 欧美 日韩 国产在线观看| 色悠悠久久88| 国产欧美日本一区视频| 91综合久久爱com| 丝袜足控免费网站xx网站| 96sao精品视频在线观看| 在线免费观看日本欧美| 少妇精品视频一区二区免费看| 亚洲精品美女久久7777777| 亚洲国产精品久久| 久久99精品久久只有精品| 国产精品99久久99久久久| 91国产精品电影| 午夜精品福利一区二区蜜股av | 在线观看黄色av| 色乱码一区二区三在线看| 国产一区二区三区精品久久久| 91在线精品一区二区| 老牛影视av一区二区在线观看| 中文字幕在线视频不卡| 欧洲一区二区在线| 日韩在线观看高清| 亚洲激情图片小说视频| 在线观看视频日韩| 国偷自产一区二区免费视频| 66av99| 日韩精品资源二区在线| 国产不卡在线视频| 欧美猛烈性xbxbxbxb| 国产精品美女在线播放|