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

提高新老碼農(nóng)生產(chǎn)率的6點(diǎn)可行性建議

譯文
開發(fā) 后端
本文向您介紹六種提高生產(chǎn)率的可行性技術(shù)建議,希望能夠?qū)δ捻?xiàng)目實(shí)踐提供幫助,讓您事半功倍。

【51CTO.com快譯】有人認(rèn)為:無(wú)論是新手程序員、還是編程老司機(jī),說到底并非代碼的創(chuàng)造者,而是程序的“搬運(yùn)工”。在項(xiàng)目開發(fā)中,他們希望自己能夠高效、且頗有成就感地交付出完美的代碼,但是現(xiàn)實(shí)卻往往事與愿違。本文將從一名深耕編程領(lǐng)域多年的資深碼農(nóng)的角度出發(fā),和您分享六個(gè)方面的經(jīng)驗(yàn)總結(jié),希望能夠幫助您最大限度地提高生產(chǎn)率、并加快產(chǎn)品的交付速度。

1.使用恰當(dāng)?shù)木幊陶Z(yǔ)言

[[344102]]

俗話說:“工欲善其事,必先利其器。”如果您的團(tuán)隊(duì)能夠?yàn)閼?yīng)用程序選用合適的編碼語(yǔ)言,勢(shì)必會(huì)對(duì)開發(fā)任務(wù)的高效完成產(chǎn)生積極的正面影響。例如:

  • Python能夠“扎根”于科學(xué)計(jì)算,因此那些重視程序穩(wěn)定性、以及問題解決一致性的開發(fā)人員,會(huì)時(shí)常選擇Python。
  • Ruby非常適合網(wǎng)站的表達(dá)性代碼,并且Ruby社區(qū)可以為同一問題提供多種解決方法。
  • PHP是針對(duì)快速服務(wù)器端應(yīng)用的絕佳選擇。它幾乎可以在任何地方被部署。由于社區(qū)中擁有大量的PHP開發(fā)人員,因此它形成了一套生態(tài)系統(tǒng),并能夠?qū)δ诸^的項(xiàng)目及時(shí)提供幫助。
  • Node.js雖然稍許復(fù)雜,但是它允許Web開發(fā)人員在服務(wù)器端使用與客戶端相同的語(yǔ)言。如果您需要提供高度交互性的客戶端體驗(yàn),那么就可以選擇Node.js來進(jìn)行優(yōu)化。

不過,無(wú)論如何,請(qǐng)盡量不要讓最新的編程時(shí)尚影響您的語(yǔ)言選擇。最新的不一定是最適合您手頭項(xiàng)目的語(yǔ)言。就我個(gè)人而言:十年前,我們會(huì)用一些JavaScript在服務(wù)器端呈現(xiàn)頁(yè)面。五年前,我們會(huì)用REST或GraphQL API進(jìn)行客戶端的數(shù)據(jù)渲染。而在2020年初,我們?cè)趹?yīng)用程序中使用了TypeScript,來呈現(xiàn)服務(wù)器端數(shù)據(jù)。

2.不要自行實(shí)施身份驗(yàn)證

我參與過多個(gè)項(xiàng)目,其中有些是在應(yīng)用程序中實(shí)現(xiàn)了自定義的身份驗(yàn)證,并且將加鹽(salted)的密碼哈希值保存到數(shù)據(jù)庫(kù)中。實(shí)際上,這完全沒有需要。由于我們擁有將身份驗(yàn)證委派給活動(dòng)目錄(Active Directory)的基礎(chǔ)架構(gòu),因此用戶完全可以使用與Windows登錄名相同的密碼。如今,我們已經(jīng)擁有了Auth0及其類似產(chǎn)品,完全可以將身份驗(yàn)證委托給Auth0。據(jù)此,我們不但可以降低自行設(shè)計(jì)與實(shí)現(xiàn)身份驗(yàn)證所帶來的潛在風(fēng)險(xiǎn),而且能夠?yàn)閼?yīng)用程序提供更好的安全性。

3.首先編寫單元測(cè)試

沒有測(cè)試驅(qū)動(dòng)的設(shè)計(jì),就像只知道編寫代碼,而不開展測(cè)試一樣,您最終會(huì)發(fā)現(xiàn)各種無(wú)法解決的長(zhǎng)方法、長(zhǎng)參數(shù)列表等問題,而且這些代碼也會(huì)變得難以維護(hù)和改進(jìn)。有時(shí)候,您需要手動(dòng)去執(zhí)行“git reset”,或直接轉(zhuǎn)入代碼重構(gòu)(https://www.refactoring.com/)。

為了成功地進(jìn)行單元測(cè)試,我們可以將某些功能分解為如上圖所示的“紅色、綠色、重構(gòu)”,這樣的微循環(huán)。其中:

  • 紅色 - 直接從那些失敗的單元處開始編寫測(cè)試,通過排除真實(shí)運(yùn)行環(huán)境中的干擾因素,以便隨時(shí)運(yùn)行單元測(cè)試。
  • 綠色 - 編寫使該單元能夠測(cè)試通過的代碼。
  • 重構(gòu) — 清理代碼,重構(gòu)并再次運(yùn)行單元測(cè)試。

如此往復(fù)循環(huán)下去,以提高代碼的質(zhì)量,并增強(qiáng)團(tuán)隊(duì)對(duì)于軟件產(chǎn)品的交付信心。

4.利用SaaS、IaaS和PaaS

如今,開發(fā)人員需要將更多的時(shí)間投入到那些非代碼性的任務(wù)上,其中包括:基礎(chǔ)架構(gòu)、DevOps、以及集成等方面。實(shí)際上,您完全可以通過簡(jiǎn)單的git push,這類SaaS服務(wù)與工具,來部署應(yīng)用的新版本,且無(wú)需與DBA、系統(tǒng)管理員等搶奪內(nèi)網(wǎng)資源。SaaS、IaaS和PaaS等服務(wù)供應(yīng)商可以幫助我們打理各種有關(guān)軟件項(xiàng)目開發(fā)的基本瑣事。例如,您不需要自行配置Logstash和ElasticSearch的復(fù)制,第三方服務(wù)公司會(huì)從您的應(yīng)用中檢索并提取相關(guān)日志,同時(shí)在保存了90天后再刪除掉,以滿足GDPR(歐洲《通用數(shù)據(jù)保護(hù)條例》,https://www.ctrl.blog/entry/gdpr-web-server-logs.html)的要求。當(dāng)然,您既需要花時(shí)間去找到能夠提供此類服務(wù)的可靠提供商,又要充分衡量將客戶的信用卡、短信、郵件等信息,存放到第三方平臺(tái)所帶來的安全性問題。

此外,像Heroku之類的平臺(tái)即服務(wù)(PaaS)提供商,不僅能夠?qū)崿F(xiàn)應(yīng)用程序的外包托管,而且可以通過各種技術(shù)棧的預(yù)配置安裝,提供基礎(chǔ)架構(gòu)和平臺(tái)的日常運(yùn)維。據(jù)此,您可以更加專注于軟件產(chǎn)品的交付時(shí)間。

5.使用IDE來分析代碼

一些常用的、廣受歡迎的IDE(集成開發(fā)環(huán)境,如:Eclipse、IntelliJ、Visual Studio、以及VS Code等),要么過于復(fù)雜,要么只能發(fā)現(xiàn)case塊中沒有最終默認(rèn)子句之類的問題。我們?cè)趯?shí)際項(xiàng)目中使用到了linter這一套開發(fā)工具(生態(tài)系統(tǒng))。它能夠集成IDE或編輯器的各種內(nèi)置功能,方便我們開展各種調(diào)試。其中,SonarLint不但能夠支持前面提到的各種IDE,還可以提供針對(duì)程序中安全問題、細(xì)微錯(cuò)誤、以及不規(guī)范編碼的各種建議。此外,您還可以使用SonarQube來衡量代碼的質(zhì)量,修正IDE中的錯(cuò)誤建議,最終交付安全且易于維護(hù)的代碼。

6.快速構(gòu)建

[[344104]]

作為獨(dú)立的開發(fā)人員,您可能會(huì)選擇在本地的開發(fā)環(huán)境中,運(yùn)行測(cè)試和部署代碼,并據(jù)此得到快速的反饋。但是,當(dāng)您在進(jìn)行團(tuán)隊(duì)協(xié)作時(shí),程序代碼就可能需要在CI/CD管道中運(yùn)行了。為了按時(shí)完成任務(wù),我們往往會(huì)用到MakefileGradle、或其他適合編程語(yǔ)言與運(yùn)行時(shí)環(huán)境的構(gòu)建工具,以便實(shí)現(xiàn)數(shù)據(jù)庫(kù)的遷移、打包、部署、以及分發(fā)等過程自動(dòng)化,并保證代碼能夠順利地運(yùn)行在生產(chǎn)環(huán)境中。

在任何新的項(xiàng)目開啟時(shí),我們都需要對(duì)其進(jìn)行一些基礎(chǔ)性的探索與研究。而在開發(fā)的生命周期中,我們的重點(diǎn)除了編寫代碼,還應(yīng)當(dāng)兼顧實(shí)施構(gòu)建,搭建IDE,配置運(yùn)行環(huán)境,部署生產(chǎn)環(huán)境,以及順暢地與外部進(jìn)行各種調(diào)用和交互。

小結(jié)

當(dāng)然,在實(shí)際開發(fā)程序的過程中,我們可能會(huì)碰到許多影響到生產(chǎn)率和交貨時(shí)間的因素。希望上面介紹的六種提高生產(chǎn)率的可行性技術(shù)建議,能夠?qū)δ捻?xiàng)目實(shí)踐提供幫助,讓您事半功倍。

原標(biāo)題:6 Productivity Practices for New (or Old) Developers ,作者: Michael Bogan

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2020-12-28 07:59:22

DevOps開發(fā)工具

2014-04-04 10:27:50

碼農(nóng)工作效率

2020-12-30 18:27:02

DevOps開發(fā)

2021-04-30 13:40:55

Linux自動(dòng)化工具開源

2012-04-12 17:41:02

2011-04-28 11:04:22

DataReader分頁(yè)

2023-09-25 16:16:14

數(shù)字孿生

2009-09-21 16:40:42

Hibernate可行

2013-05-08 10:23:45

工作效率效率提高效率

2011-06-24 11:35:01

內(nèi)鏈

2009-12-25 14:26:40

無(wú)線接入技術(shù)集成

2009-07-30 16:48:48

摩托羅拉制造移動(dòng)技術(shù)

2009-02-17 15:59:55

2011-12-13 20:36:26

Android

2013-01-30 14:27:51

Compuware

2009-06-15 09:57:46

HibernateIBatis

2013-08-27 11:15:20

2018-07-16 15:11:39

設(shè)計(jì)能力Java模式

2012-10-26 13:48:54

云計(jì)算運(yùn)維云安全

2011-11-14 09:10:08

虛擬化
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 精品九九在线 | 国产免费一级一级 | 国产高清精品一区二区三区 | 亚洲激情在线观看 | 久久成人18免费网站 | 日韩欧美一区在线 | 国产精品中文在线 | 亚洲www | 91亚洲国产精品 | 免费视频一区二区 | 羞羞的视频在线看 | 亚洲精品乱码久久久久久久久 | 国产美女在线观看 | 国产高清视频 | 国产视频在线一区二区 | 性欧美hd | 日本午夜网站 | 龙珠z在线观看 | 亚洲精品区 | 91 久久| 一区二区国产在线观看 | 国产成人av一区二区三区 | 天堂一区二区三区 | 韩日一区二区三区 | 日韩高清中文字幕 | 中文字幕亚洲视频 | 精品国产91 | 国产精品永久免费视频 | 精品一区av | 国产精品国产a | 黄免费观看视频 | 国产激情亚洲 | 亚洲精品91 | 中文字幕亚洲在线 | www..99re| 自拍第一页| 欧美日韩精品区 | 蜜桃臀av一区二区三区 | 国产精品久久久久一区二区三区 | 亚洲在线视频 | 成人h免费观看视频 |