java后端開發(fā)需要掌握什么 后端開發(fā)完接口才給出接口文檔,合理嗎?你怎么看?
后端開發(fā)完接口才給出接口文檔,合理嗎?你怎么看?一個(gè)非常好的問題。我是一個(gè)web應(yīng)用程序架構(gòu)師,多年來一直致力于回答這個(gè)問題。歡迎跟我來了解更多。后端提供接口文檔為時(shí)已晚,這是合理和不合理的。根據(jù)具體
后端開發(fā)完接口才給出接口文檔,合理嗎?你怎么看?
一個(gè)非常好的問題。我是一個(gè)web應(yīng)用程序架構(gòu)師,多年來一直致力于回答這個(gè)問題。歡迎跟我來了解更多。
后端提供接口文檔為時(shí)已晚,這是合理和不合理的。根據(jù)具體情況,總有解決辦法。讓我談?wù)勎业挠^點(diǎn)。
不合理:成熟的技術(shù)團(tuán)隊(duì)重視功能設(shè)計(jì),在編寫代碼之前有完整的技術(shù)文檔和功能定義。即使在TDD測試驅(qū)動(dòng)的開發(fā)模式下,測試數(shù)據(jù)已經(jīng)準(zhǔn)備好了,那么接口邏輯就已經(jīng)確定了接口文檔是否編寫好了,理清它們是很自然的。
-第一,主觀原因。原因是多方面的,比如趕進(jìn)度,沒有時(shí)間,不懶得寫,甚至在開發(fā)前沒有仔細(xì)設(shè)計(jì),在做的時(shí)候也有變化。真的沒有好辦法。
-客觀原因:需求在變化,功能在變化,接口也在變化。所以,如果你寫了一個(gè)文件,它的自然更新和維護(hù)?天哪?
有解決方案嗎?建議嘗試:[1]swagger接口文檔,將文檔集成到代碼中,集成維護(hù)文檔和修改代碼,在修改代碼邏輯的同時(shí)方便修改文檔描述。
2、郵遞員界面測試工具,導(dǎo)入導(dǎo)出JSON文件,高效的團(tuán)隊(duì)合作。Postman支持各種請(qǐng)求方法和配置環(huán)境變量,對(duì)返回的結(jié)果進(jìn)行測試和驗(yàn)證,支持批量自動(dòng)操作,可與自動(dòng)構(gòu)建系統(tǒng)集成。
怎么看待一些后端程序員不寫接口文檔,老是以很忙為借口搪塞?
不寫接口文檔,一般很忙?;蛘邲]有時(shí)間整理文件。
對(duì)于前端和后端的對(duì)接,前端開發(fā)人員一般需要后端人員提供接口文檔,而現(xiàn)在招搖過市的文檔完全可以提供這個(gè)功能。在許多情況下,后端開發(fā)人員集成了一個(gè)swagger并自動(dòng)生成相應(yīng)的文檔。
您可以給后端開發(fā)人員一定的時(shí)間來學(xué)習(xí)swagger或?qū)wagger集成到項(xiàng)目中。
為什么網(wǎng)上有人說WEB開發(fā)沒技術(shù)含量?
一個(gè)非常好的問題。我是一個(gè)web應(yīng)用程序架構(gòu)師,多年來一直致力于回答這個(gè)問題。歡迎跟我來了解更多。
基本上,所有行業(yè)都需要開發(fā)網(wǎng)站。web開發(fā)技術(shù)含量低的觀點(diǎn)在某些應(yīng)用場景中是正確的。
這種web應(yīng)用以靜態(tài)信息顯示為主要目的,如企業(yè)官方網(wǎng)站、私人網(wǎng)站等。由于沒有動(dòng)態(tài)交互功能,所以開發(fā)主要是HTML和CSS,靜態(tài)頁面維護(hù)可以結(jié)合后臺(tái)管理工具的使用,這些功能都有一個(gè)成熟的開發(fā)框架,統(tǒng)稱為CMS內(nèi)容管理系統(tǒng)。
如果網(wǎng)站有復(fù)雜的業(yè)務(wù)邏輯,比如電子商務(wù)、直播等系統(tǒng),不僅功能復(fù)雜,而且支持高并發(fā)、高可用,技術(shù)指標(biāo)非常高。大家都知道淘寶網(wǎng)站,沒人說技術(shù)含量低。
用戶看到的web應(yīng)用程序只是顯示的客戶端,后臺(tái)服務(wù)是系統(tǒng)的核心。為了滿足越來越復(fù)雜的需求,現(xiàn)在web開發(fā)的功能和架構(gòu)也越來越復(fù)雜,多層架構(gòu)、數(shù)據(jù)中心、動(dòng)靜分離、集群部署、自動(dòng)運(yùn)維等。比如淘寶雙11,為了應(yīng)對(duì)流量高峰,后臺(tái)服務(wù)進(jìn)行了很多技術(shù)升級(jí)。
舉個(gè)真實(shí)的例子。在參加虹口市科創(chuàng)組織的創(chuàng)業(yè)活動(dòng)時(shí),遇到一位朋友,他投資100萬元為陌生人開發(fā)了一款社交應(yīng)用,頁面刷新延遲時(shí)間超過10秒。如何將這種用戶體驗(yàn)用于營銷?
經(jīng)過分析,問題出在后臺(tái)接口服務(wù)上。為什么web界面會(huì)延遲這么長時(shí)間?前端應(yīng)用刷新頁面時(shí),調(diào)用后端服務(wù)rest接口讀取信息,直接讀取數(shù)據(jù)庫,查詢多個(gè)表。作為基礎(chǔ)數(shù)據(jù)層,如果不使用緩存系統(tǒng),做一點(diǎn)營銷,就不需要太多用戶造成系統(tǒng)雪崩。
一個(gè)7人的iOS開發(fā)團(tuán)隊(duì)竟然三個(gè)月左右才能兼職完成像微信類的社交軟件項(xiàng)目,難道都是這樣?
要成為一個(gè)百度,你必須花10天的時(shí)間在一個(gè)頁面上
我想既然你能問這樣的問題,你就不是一個(gè)程序員或者一個(gè)合格的程序員。
制作一個(gè)軟件,你不僅可以看到你能看到的東西,比如UI,還可以看到后臺(tái)的邏輯處理和與服務(wù)器的對(duì)接。如果你一個(gè)人做的話,你了解服務(wù)器嗎,你能不能快速地制作出你想要的UI,你能不能處理各種邏輯問題。
同時(shí),做一個(gè)軟件也不是輕率的。除非你坐著玩,否則你還需要做一些市場調(diào)查。
然后,根據(jù)軟件的大小,您需要構(gòu)建一個(gè)框架。如果軟件有你以前使用過的框架,那就很簡單了。否則,您必須學(xué)習(xí)一些框架來匹配軟件的適用框架。
一般來說,如果你有足夠的經(jīng)驗(yàn),現(xiàn)成的資源和平均規(guī)模的軟件,一個(gè)人可以在一個(gè)月內(nèi)完成。缺少任何條件,你都要結(jié)合自己的學(xué)習(xí)能力來學(xué)習(xí),然后完成軟件的時(shí)間一定要超過一個(gè)月。
如果是為了他人,那么你必須承擔(dān)不斷變化的需求,這也需要時(shí)間。
一句話,一句話,請(qǐng)先確定自己的需求,再根據(jù)實(shí)際情況制定時(shí)間計(jì)劃。你突然問是不明智的。沒有人能給你想要的時(shí)間。