成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

【效率專(zhuān)精系列】我有一個(gè)夢(mèng)想:提高開(kāi)發(fā)效率,晚上回家吃雞

zhaot / 2203人閱讀

摘要:效率專(zhuān)精系列善用統(tǒng)一描述語(yǔ)言提升開(kāi)發(fā)效率分鐘搞定環(huán)境配置與使用考慮到篇幅較長(zhǎng)的文檔反復(fù)修改的情況,要快速找到修改點(diǎn)比較困難。

之前零零散散寫(xiě)了幾篇文章,主要是實(shí)際開(kāi)發(fā)過(guò)程中一些效率痛點(diǎn)和相應(yīng)的改善方法。今天抽空溫故知新,把之前的內(nèi)容串起來(lái),做了個(gè)小總結(jié),即《效率專(zhuān)精系列》小系列的總集篇。

回顧項(xiàng)目開(kāi)發(fā)流程

開(kāi)發(fā)一個(gè)新項(xiàng)目時(shí),開(kāi)發(fā)流程大概分成以下幾步:

設(shè)計(jì)方案,并落地成設(shè)計(jì)文檔

設(shè)計(jì)方案評(píng)審

任務(wù)分拆

和上下游規(guī)定接口(服務(wù)、前后端等)

代碼開(kāi)發(fā)

開(kāi)發(fā)自測(cè)

上下游聯(lián)調(diào)(服務(wù)、前后端等)

提交QA測(cè)試

效率可改進(jìn)的點(diǎn) S1. 設(shè)計(jì)方案,并落地成設(shè)計(jì)文檔

公司內(nèi)部使用Wiki(XConfluence)管理所有文檔,由于互聯(lián)網(wǎng)產(chǎn)品的大部分開(kāi)發(fā)模式都偏向于面向數(shù)據(jù)庫(kù)編程,設(shè)計(jì)文檔里ER圖是展現(xiàn)設(shè)計(jì)的重要工具。但是繪制ER圖是個(gè)挺費(fèi)勁的活,不是說(shuō)自帶的draw.io組件不好用,而是說(shuō)ER圖和代碼(Sql語(yǔ)句或Java代碼)不能互相轉(zhuǎn)化,兩者的內(nèi)容格式高度重合,卻只能人工轉(zhuǎn)化。

目前我的方式是先在Intellij Idea中寫(xiě)好持久化對(duì)象(PO),用POJO to Text插件把POJO轉(zhuǎn)化為文本并復(fù)制到系統(tǒng)剪切板中,然后復(fù)制到ER圖里,節(jié)省了重復(fù)錄入類(lèi)名和字段名的時(shí)間。

舉個(gè)栗子,PO類(lèi)的自定義文本形式為“PO
id
updateTime”。
    Class PO {
        private int id;
        private Date updateTime;
        //getter/setter
    }
S4. 和上下游規(guī)定接口(服務(wù)、前后端等)/ S6. 開(kāi)發(fā)自測(cè)

上下游服務(wù)之間有很完善的并行開(kāi)發(fā)方案,即基于接口的開(kāi)發(fā),通過(guò)帶有版本號(hào)的jar包來(lái)解耦雙方具體實(shí)現(xiàn)的開(kāi)發(fā)。但如果是前后端之間規(guī)定接口,一般需要先寫(xiě)接口文檔,再寫(xiě)代碼,與上面類(lèi)似,其中很多內(nèi)容需要人工重復(fù)錄入,比如說(shuō)URI、Param、Header、Body體等。

利用API統(tǒng)一描述語(yǔ)言OpenAPI和相應(yīng)的工具Swagger2可在文檔和代碼之間搭起一座橋梁。另外該工具也可節(jié)約自測(cè)中的部分錄入工作,如錄入U(xiǎn)RL和Param。

【效率專(zhuān)精系列】善用API統(tǒng)一描述語(yǔ)言提升RestAPI開(kāi)發(fā)效率
5分鐘搞定Swagger2環(huán)境配置與使用

考慮到篇幅較長(zhǎng)的文檔反復(fù)修改的情況,要快速找到API修改點(diǎn)比較困難。

目前我的方式是利用版本管理和文本比較功能:比方說(shuō)把API文檔和代碼一起放在git倉(cāng)庫(kù),或者使用其他帶版本管理的文檔庫(kù);使用git倉(cāng)庫(kù)自帶的文本比較功能,或者在線(xiàn)的代碼比較網(wǎng)站。

文本比較網(wǎng)站 去除前導(dǎo)空格 分享給他人 其他
www.diffnow.com 可以 可以 界面風(fēng)格原始
www.diffchecker.com 不可以 可以
www.newjson.com/Static/Tools/Diff.html 可以 不可以
S5. 代碼開(kāi)發(fā)

互聯(lián)網(wǎng)公司常見(jiàn)的ORM組件不再是重型的Hibernate,而是輕量級(jí)的Mybatis(其實(shí)都不算ORM了,最多是Sql模板)。Mybatis中我認(rèn)為最繁瑣的工作就是寫(xiě)業(yè)務(wù)Sql了,基本上是getXXXByYYYZZZ這種形式,要么再加上分頁(yè),類(lèi)型特征十分明顯。

目前我的方式是利用Intellij IdeaMybatis插件,把Mybatis Mapper類(lèi)中的Java接口轉(zhuǎn)化成對(duì)應(yīng)的Sql語(yǔ)句。在不考慮優(yōu)化的情況下,這種類(lèi)型的Sql如果能自動(dòng)生成就能節(jié)約不少人力,畢竟Sql語(yǔ)句比Java接口聲明長(zhǎng)多了。

【效率專(zhuān)精系列】善用插件提升MyBatis開(kāi)發(fā)效率
S7. 上下游聯(lián)調(diào)(服務(wù)、前后端等)

通常上下游都把自己的分支部署到beta環(huán)境來(lái)進(jìn)行聯(lián)調(diào),存在分支沖突的風(fēng)險(xiǎn);而且如果代碼質(zhì)量不高的話(huà)聯(lián)調(diào)過(guò)程中需要反復(fù)更新代碼,由于beta環(huán)境不支持熱部署,更新代碼的時(shí)間成本很高。

目前我的方式是不管是Rpc服務(wù)還是URL,把聯(lián)調(diào)放在雙方的本地機(jī)器上進(jìn)行,這樣熱更新、熱部署都沒(méi)問(wèn)題了。

【效率專(zhuān)精系列】Beta環(huán)境不需要,本地聯(lián)調(diào)拯救開(kāi)發(fā)效率
【效率專(zhuān)精系列】幾種常見(jiàn)的JVM熱部署技術(shù)及實(shí)現(xiàn)難點(diǎn)淺談
小詩(shī)云

身在互聯(lián)網(wǎng),加班易,不加班難,且行且珍惜。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/70511.html

相關(guān)文章

  • 效率專(zhuān)精系列】Beta環(huán)境不需要,本地聯(lián)調(diào)拯救開(kāi)發(fā)效率

    摘要:目前團(tuán)隊(duì)中前后端聯(lián)調(diào)是較之個(gè)人單獨(dú)開(kāi)發(fā)相對(duì)耗時(shí)的一個(gè)環(huán)節(jié),主要體現(xiàn)在環(huán)境下的部署時(shí)間較長(zhǎng)。本文的目的是通過(guò)將聯(lián)調(diào)本地化,減少部分枯燥勞動(dòng)以及無(wú)效的等待時(shí)間,提高團(tuán)隊(duì)的開(kāi)發(fā)效率。不需要更改的為外部,保持即可。 目前團(tuán)隊(duì)中前后端聯(lián)調(diào)是較之個(gè)人單獨(dú)開(kāi)發(fā)相對(duì)耗時(shí)的一個(gè)環(huán)節(jié),主要體現(xiàn)在: beta環(huán)境下的部署時(shí)間較長(zhǎng)。首先部署beta需要經(jīng)過(guò)push分支、合并沖突、build、部署四個(gè)步驟。...

    cc17 評(píng)論0 收藏0
  • 效率專(zhuān)精系列】善用API統(tǒng)一描述語(yǔ)言提升RestAPI開(kāi)發(fā)效率

    摘要:其標(biāo)準(zhǔn)為前身是,提供強(qiáng)大的在線(xiàn)編輯功能,包括語(yǔ)法高亮錯(cuò)誤提示自動(dòng)完成實(shí)時(shí)預(yù)覽,并且支持用戶(hù)以格式撰寫(xiě)導(dǎo)入導(dǎo)出轉(zhuǎn)換文檔。 團(tuán)隊(duì)內(nèi)部RestAPI開(kāi)發(fā)采用設(shè)計(jì)驅(qū)動(dòng)開(kāi)發(fā)的模式,即使用API設(shè)計(jì)文檔解耦前端和后端的開(kāi)發(fā)過(guò)程,雙方只在聯(lián)調(diào)與測(cè)試時(shí)耦合。在實(shí)際開(kāi)發(fā)和與前端合作的過(guò)程中,受限于眾多因素的影響,開(kāi)發(fā)效率還有進(jìn)一步提高的空間。本文的目的是優(yōu)化工具鏈支持,減少一部分重復(fù)和枯燥的勞動(dòng)。 現(xiàn)狀...

    tianyu 評(píng)論0 收藏0
  • 效率專(zhuān)精系列】善用插件提升MyBatis開(kāi)發(fā)效率

    摘要:通過(guò)插件更優(yōu)雅地生成和的樣板代碼通過(guò)插件不污染地實(shí)現(xiàn)優(yōu)雅分頁(yè)。使用步驟引入依賴(lài),在或的配置中進(jìn)行配置。提供語(yǔ)法提示自動(dòng)補(bǔ)全錯(cuò)誤提示導(dǎo)航功能。該插件提供了類(lèi)似的功能,根據(jù)接口的方法名推斷含義,然后在中直接生成對(duì)應(yīng)的。 團(tuán)隊(duì)使用Mybatis作為數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)框架。不同于Hibernate這種采用經(jīng)典面向?qū)ο笏枷朐O(shè)計(jì)的ORM框架,Mybatis是面向過(guò)程的,它只做了過(guò)程到SQL語(yǔ)句的映射。兩者...

    Kylin_Mountain 評(píng)論0 收藏0
  • 別讓任何人打亂你的節(jié)奏

    摘要:人生中的每一件事都取決于我們自己的時(shí)間,你身邊有些朋友也許遙遙領(lǐng)先于你,有些朋友也許落后于你,但凡事都有它自己的節(jié)奏因此,無(wú)論當(dāng)下如何,保持一顆平靜的心,從容對(duì)待。愿你始終相信,一切都會(huì)準(zhǔn)時(shí)到來(lái)的。不言而喻的是信心對(duì)完成任務(wù)的作用很大。 《別讓任何人打亂你的生活節(jié)奏》完美人生 就是 18歲成人 22歲大學(xué)畢業(yè),25歲工作穩(wěn)定,30歲之前買(mǎi)房結(jié)婚生子,35歲之后人生軌跡就會(huì)定型…… 可是...

    fanux 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

zhaot

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<