發(fā)布時(shí)間:2022-02-17
欄目:電商資訊
編碼也是如此,當(dāng)多次編寫(xiě)類(lèi)似的代碼時(shí),我們需要考慮是否有一種方法能夠提高編碼速度。作者多年來(lái)致力于靈敏開(kāi)發(fā),總結(jié)了一套編碼的方法論,有助于程序員"快速、優(yōu)質(zhì)、高效"地進(jìn)行編碼。
沒(méi)錯(cuò),這就是經(jīng)典的"Helloworld",這也是大多數(shù)人手工編寫(xiě)的第一個(gè)程序。
手工編寫(xiě)代碼,更能體現(xiàn)一個(gè)程序員的基本素質(zhì),是一個(gè)優(yōu)秀程序員必須具備的基礎(chǔ)能力。
有很多公司,都把上機(jī)編程考試作為面試的重要手段之一。面試者需要根據(jù)題目的要求,挑選一款熟悉的編程工具(比如Eclipse),手工編寫(xiě)代碼并調(diào)試運(yùn)行通過(guò)。在整個(gè)過(guò)程中,不能通過(guò)網(wǎng)絡(luò)搜索答案,不能查看聯(lián)機(jī)幫助文檔,要求面試者必須手工編寫(xiě)代碼,主要是考察面試者手工編寫(xiě)代碼的能力——語(yǔ)法、函數(shù)、邏輯、思維、算法以及動(dòng)手能力。
常言道:"熟讀唐詩(shī)三百首,不會(huì)作詩(shī)也會(huì)吟。"編碼也是同樣的道理,編碼的第一步就是模擬,簡(jiǎn)單地說(shuō)就是"抄代碼"——復(fù)制粘貼代碼。復(fù)制粘貼代碼是一門(mén)藝術(shù),用好了編碼會(huì)事半功倍。但是,沒(méi)有檢驗(yàn)過(guò)的東西,終究是不可全信的。當(dāng)看到需要的代碼時(shí),在復(fù)制粘貼前,我們都需要仔細(xì)研讀、認(rèn)真思考、具體甄別……很多東西,都是仁者見(jiàn)仁、智者見(jiàn)智的東西,適合別的場(chǎng)景但不一定適合你的場(chǎng)景。作為一名合格的程序員,切不可一味地"拿來(lái)主義"。
總之,復(fù)制粘貼代碼,跟其它編碼方法一樣,沒(méi)有優(yōu)劣對(duì)錯(cuò)之分。它只是一種方法,你可以善用,也可以濫用。假如我們用到了復(fù)制粘貼,我們就必須為結(jié)果負(fù)責(zé)。
已經(jīng)編寫(xiě)好的用戶查詢相關(guān)代碼:
假如我們要編寫(xiě)公司查詢相關(guān)代碼,其代碼形式與用戶查詢類(lèi)似,整理出替換關(guān)系如下:
利用Notepad、EditPlus等文本編輯器,選擇區(qū)分大小寫(xiě),進(jìn)行普通文本替換,很終得到結(jié)果如下:
利用文本替換生成代碼,整段代碼生成時(shí)間不會(huì)超過(guò)1分鐘。
優(yōu)點(diǎn):成代碼速度較快。
缺點(diǎn):必須編寫(xiě)樣例代碼,只適用于文本替換的情景
方法4:用Excel公式生成代碼
Excel的公式非常強(qiáng)悍,可以用于編寫(xiě)一些公式化的代碼。

從WIKI上拷貝接口模型定義到Excel里,樣例數(shù)據(jù)內(nèi)容如下:
編寫(xiě)Excel公式如下:

利用公式生成代碼如下:
創(chuàng)建模型類(lèi),整理代碼如下:
從WIKI上拷貝枚舉定義到Excel里,樣例數(shù)據(jù)內(nèi)容如下:
編寫(xiě)Excel公式如下:
利用公式生成代碼如下:
創(chuàng)建枚舉類(lèi),整理代碼如下:
用Excel整理的公司列表如下,需要整理成SQL語(yǔ)句直接插入數(shù)據(jù)庫(kù):
編寫(xiě)Excel公式如下:
利用公式生成SQL如下:
添加into語(yǔ)句頭,整理SQL如下:
優(yōu)點(diǎn):適用于表格化數(shù)據(jù)的代碼生成;寫(xiě)好公式后,拖拽生成代碼,生成速度較快。
缺點(diǎn):不適用于復(fù)雜功能的代碼生成。
方法5:用工具生成代碼
用工具生成代碼,顧名思義就是借用已有的工具生成代碼。很多開(kāi)發(fā)工具都提供一些工具生成代碼,比如:生成構(gòu)造函數(shù),重載基類(lèi)/接口函數(shù),生成Getter/Setter函數(shù),生成toString函數(shù)……能夠避免很多手敲代碼。還有一些生成代碼插件,也可以生成滿足某些應(yīng)用場(chǎng)景的代碼。
這里以mybatis-generator插件生成代碼為例,介紹如何利用工具生成代碼。
具體方法這里不再累述,自行上網(wǎng)搜索文檔了解。

文件UserMapper.java內(nèi)容:
文件UserMapper.xml內(nèi)容:
優(yōu)點(diǎn):
缺點(diǎn):
用代碼生成代碼,就是自己編寫(xiě)代碼,按照自己的格式生成代碼。下面,以生成基于MyBatis的數(shù)據(jù)庫(kù)訪問(wèn)代碼為例說(shuō)明。
首先,我們要從數(shù)據(jù)庫(kù)中拿到我們生成代碼所需要的表和列相關(guān)信息。
查詢表信息語(yǔ)句:
其中,第1個(gè)問(wèn)號(hào)賦值數(shù)據(jù)庫(kù)名稱(chēng),第2個(gè)問(wèn)號(hào)賦值表名稱(chēng)。
查詢表信息結(jié)果:
1.2.查詢列信息
查詢列信息語(yǔ)句:
其中,第1個(gè)問(wèn)號(hào)賦值數(shù)據(jù)庫(kù)名稱(chēng),第2個(gè)問(wèn)號(hào)賦值表名稱(chēng)。
查詢列信息結(jié)果:
優(yōu)點(diǎn):
缺點(diǎn):
編程的終極方法,是不是直接對(duì)著電腦說(shuō)需求,然后電腦就自動(dòng)生成代碼了?未來(lái)科技發(fā)展到一定水平后,這種情況或許會(huì)變成現(xiàn)實(shí)。但是,目前這種情況是不現(xiàn)實(shí)的。現(xiàn)實(shí)中,想要做到"大口一張、代碼就來(lái)",除非你是老板、產(chǎn)品經(jīng)理或者技術(shù)治理者。
終極方法是“無(wú)招勝有招”,"無(wú)招"并不是不講究"招式",而是不拘泥于某一"招式",信手拈來(lái)合適的"招式"為宜。本文中列舉的各種編程方法,沒(méi)有高低優(yōu)劣之分,只有合不合適之說(shuō)。所以,靈活地運(yùn)用各種編碼方法,就是編程的終極方法。
文章地址:http://www.brucezhang.com/article/online/9828.html

- 1互聯(lián)網(wǎng)對(duì)傳統(tǒng)企業(yè)的沖擊有多大
- 2美團(tuán)再因不正當(dāng)競(jìng)爭(zhēng)敗訴新反法互聯(lián)網(wǎng)專(zhuān)條首次適用外賣(mài)領(lǐng)域!
- 32021互聯(lián)網(wǎng)十件大事對(duì)不起賈躍亭你只能排第四
- 4互聯(lián)網(wǎng)宣傳做的就是用戶體驗(yàn)
- 5互聯(lián)網(wǎng)創(chuàng)業(yè)到底需要怎樣的能力
- 6適合上班族的25個(gè)副業(yè)(適合上班族的互聯(lián)網(wǎng)副業(yè))
- 7互聯(lián)網(wǎng)的世界沒(méi)有永遠(yuǎn)的敵人只有永遠(yuǎn)的利益
- 8押?jiǎn)h進(jìn)駐天線貓助力互聯(lián)網(wǎng)數(shù)碼產(chǎn)品寄存行業(yè)經(jīng)濟(jì)持續(xù)發(fā)展
- 9互聯(lián)網(wǎng)公司如何做好品牌定位
- 102021年互聯(lián)網(wǎng)金融發(fā)展回顧冬去春欲來(lái)改弦當(dāng)更張