摘要:效率專精系列善用統一描述語言提升開發效率分鐘搞定環境配置與使用考慮到篇幅較長的文檔反復修改的情況,要快速找到修改點比較困難。
之前零零散散寫了幾篇文章,主要是實際開發過程中一些效率痛點和相應的改善方法。今天抽空溫故知新,把之前的內容串起來,做了個小總結,即《效率專精系列》小系列的總集篇。
回顧項目開發流程開發一個新項目時,開發流程大概分成以下幾步:
設計方案,并落地成設計文檔
設計方案評審
任務分拆
和上下游規定接口(服務、前后端等)
代碼開發
開發自測
上下游聯調(服務、前后端等)
提交QA測試
效率可改進的點 S1. 設計方案,并落地成設計文檔公司內部使用Wiki(XConfluence)管理所有文檔,由于互聯網產品的大部分開發模式都偏向于面向數據庫編程,設計文檔里ER圖是展現設計的重要工具。但是繪制ER圖是個挺費勁的活,不是說自帶的draw.io組件不好用,而是說ER圖和代碼(Sql語句或Java代碼)不能互相轉化,兩者的內容格式高度重合,卻只能人工轉化。
目前我的方式是先在Intellij Idea中寫好持久化對象(PO),用POJO to Text插件把POJO轉化為文本并復制到系統剪切板中,然后復制到ER圖里,節省了重復錄入類名和字段名的時間。
舉個栗子,PO類的自定義文本形式為“PO id updateTime”。
Class PO { private int id; private Date updateTime; //getter/setter }S4. 和上下游規定接口(服務、前后端等)/ S6. 開發自測
上下游服務之間有很完善的并行開發方案,即基于接口的開發,通過帶有版本號的jar包來解耦雙方具體實現的開發。但如果是前后端之間規定接口,一般需要先寫接口文檔,再寫代碼,與上面類似,其中很多內容需要人工重復錄入,比如說URI、Param、Header、Body體等。
利用API統一描述語言OpenAPI和相應的工具Swagger2可在文檔和代碼之間搭起一座橋梁。另外該工具也可節約自測中的部分錄入工作,如錄入URL和Param。
【效率專精系列】善用API統一描述語言提升RestAPI開發效率
5分鐘搞定Swagger2環境配置與使用
考慮到篇幅較長的文檔反復修改的情況,要快速找到API修改點比較困難。
目前我的方式是利用版本管理和文本比較功能:比方說把API文檔和代碼一起放在git倉庫,或者使用其他帶版本管理的文檔庫;使用git倉庫自帶的文本比較功能,或者在線的代碼比較網站。
文本比較網站 | 去除前導空格 | 分享給他人 | 其他 |
---|---|---|---|
www.diffnow.com | 可以 | 可以 | 界面風格原始 |
www.diffchecker.com | 不可以 | 可以 | |
www.newjson.com/Static/Tools/Diff.html | 可以 | 不可以 |
互聯網公司常見的ORM組件不再是重型的Hibernate,而是輕量級的Mybatis(其實都不算ORM了,最多是Sql模板)。Mybatis中我認為最繁瑣的工作就是寫業務Sql了,基本上是getXXXByYYYZZZ這種形式,要么再加上分頁,類型特征十分明顯。
目前我的方式是利用Intellij Idea的Mybatis插件,把Mybatis Mapper類中的Java接口轉化成對應的Sql語句。在不考慮優化的情況下,這種類型的Sql如果能自動生成就能節約不少人力,畢竟Sql語句比Java接口聲明長多了。
【效率專精系列】善用插件提升MyBatis開發效率S7. 上下游聯調(服務、前后端等)
通常上下游都把自己的分支部署到beta環境來進行聯調,存在分支沖突的風險;而且如果代碼質量不高的話聯調過程中需要反復更新代碼,由于beta環境不支持熱部署,更新代碼的時間成本很高。
目前我的方式是不管是Rpc服務還是URL,把聯調放在雙方的本地機器上進行,這樣熱更新、熱部署都沒問題了。
【效率專精系列】Beta環境不需要,本地聯調拯救開發效率小詩云
【效率專精系列】幾種常見的JVM熱部署技術及實現難點淺談
身在互聯網,加班易,不加班難,且行且珍惜。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70511.html
摘要:目前團隊中前后端聯調是較之個人單獨開發相對耗時的一個環節,主要體現在環境下的部署時間較長。本文的目的是通過將聯調本地化,減少部分枯燥勞動以及無效的等待時間,提高團隊的開發效率。不需要更改的為外部,保持即可。 目前團隊中前后端聯調是較之個人單獨開發相對耗時的一個環節,主要體現在: beta環境下的部署時間較長。首先部署beta需要經過push分支、合并沖突、build、部署四個步驟。...
摘要:其標準為前身是,提供強大的在線編輯功能,包括語法高亮錯誤提示自動完成實時預覽,并且支持用戶以格式撰寫導入導出轉換文檔。 團隊內部RestAPI開發采用設計驅動開發的模式,即使用API設計文檔解耦前端和后端的開發過程,雙方只在聯調與測試時耦合。在實際開發和與前端合作的過程中,受限于眾多因素的影響,開發效率還有進一步提高的空間。本文的目的是優化工具鏈支持,減少一部分重復和枯燥的勞動。 現狀...
摘要:通過插件更優雅地生成和的樣板代碼通過插件不污染地實現優雅分頁。使用步驟引入依賴,在或的配置中進行配置。提供語法提示自動補全錯誤提示導航功能。該插件提供了類似的功能,根據接口的方法名推斷含義,然后在中直接生成對應的。 團隊使用Mybatis作為數據庫訪問框架。不同于Hibernate這種采用經典面向對象思想設計的ORM框架,Mybatis是面向過程的,它只做了過程到SQL語句的映射。兩者...
摘要:人生中的每一件事都取決于我們自己的時間,你身邊有些朋友也許遙遙領先于你,有些朋友也許落后于你,但凡事都有它自己的節奏因此,無論當下如何,保持一顆平靜的心,從容對待。愿你始終相信,一切都會準時到來的。不言而喻的是信心對完成任務的作用很大。 《別讓任何人打亂你的生活節奏》完美人生 就是 18歲成人 22歲大學畢業,25歲工作穩定,30歲之前買房結婚生子,35歲之后人生軌跡就會定型…… 可是...
閱讀 2270·2019-08-30 15:56
閱讀 3108·2019-08-30 13:48
閱讀 1123·2019-08-30 10:52
閱讀 1490·2019-08-29 17:30
閱讀 417·2019-08-29 13:44
閱讀 3528·2019-08-29 12:53
閱讀 1113·2019-08-29 11:05
閱讀 2667·2019-08-26 13:24