所謂,天下代碼一大抄,在程序員的心中,復(fù)制和粘貼仿佛就像敲代碼的“左膀右臂”,不可或缺。那么,這么做到底對(duì)不對(duì)呢?
首先,程序員不把這個(gè)叫做“抄”,應(yīng)該稱之為“代碼復(fù)用”,在軟件開發(fā)中,代碼復(fù)用的情況是非常普遍的。而判斷這種代碼復(fù)用是否是抄襲行為的標(biāo)準(zhǔn),要根據(jù)被復(fù)用的代碼版權(quán)協(xié)議來判斷。
從社會(huì)學(xué)和經(jīng)濟(jì)學(xué)來看,代碼復(fù)用這個(gè)行為恰恰是值得肯定的,因?yàn)樗軌虮苊饫速M(fèi)有限的社會(huì)資源。合理地利用開源代碼,可以避免“重復(fù)造輪子”的動(dòng)作,解放大量程序員去進(jìn)行更有價(jià)值的開發(fā)工作,加快開發(fā)效率,達(dá)到資源價(jià)值的最大化。
能從千百萬行代碼中找到自己想用的那一段,稍作修改變成自己需要的功能,這本身就是一種于“百萬軍中取上將首級(jí)”的本事。若不是基礎(chǔ)十分扎實(shí),對(duì)那段代碼無比熟悉,架構(gòu)了然于胸,你怎么會(huì)抄呢?又怎么會(huì)維護(hù)?
所以,關(guān)于“抄代碼”這件事,最重要的一點(diǎn)就是:知其然,更要知其所以然。用開源代碼來解決自己的問題,把架構(gòu)、思路融會(huì)貫通再變成自己的邏輯表達(dá)出來,這也是高薪程序員的高明之處。
軟件開發(fā)過程就像搭建房屋。業(yè)務(wù)似房屋的設(shè)計(jì)圖,而編程技術(shù)則如磚、水泥、涂料等工具材料。交房時(shí),客戶不會(huì)在乎你用的是怎樣的工藝材料,他們更關(guān)心的是最終看到、體驗(yàn)到的交付效果。
技術(shù)是實(shí)現(xiàn)業(yè)務(wù)的手段,其受業(yè)務(wù)影響,需要根據(jù)業(yè)務(wù)需求決定選擇采用哪幾種技術(shù)。因此,對(duì)于開發(fā)人員來說,技術(shù)一定得跟業(yè)務(wù)并進(jìn)。
徐州北大青鳥軟件工程師課程設(shè)計(jì)的核心之一即:以業(yè)務(wù)為核心及導(dǎo)向,驅(qū)動(dòng)項(xiàng)目課程的研發(fā)。以此來保證其中應(yīng)用的技術(shù)及知識(shí)點(diǎn)依據(jù)業(yè)務(wù)需求使用,合理安排,而不是純粹將技術(shù)堆疊。這也是從中博畢業(yè)的學(xué)員,薪資更高、上手更快的原因!
在企業(yè)對(duì)技術(shù)需求日益攀升的今天,只有技術(shù)更專、更高、更精的軟件工程師,才能成為企業(yè)的寵兒!
“他山之石可以攻玉”,每一行代碼都是程序員智慧的結(jié)晶,而開源社區(qū)更像是一個(gè)共享的云大腦。
在效率為王的IT互聯(lián)網(wǎng),有時(shí)間思考,才能有更多創(chuàng)造。顯然,優(yōu)秀的程序員不在于如何寫代碼,而在于能否有效把需求、框架、底層原理、代碼融會(huì)貫通,為企業(yè)創(chuàng)造更大的價(jià)值。
(責(zé)任編輯:代碼如詩) |