程序員如果離開(kāi)了開(kāi)發(fā)工具后?
計(jì)科專(zhuān)業(yè)從事軟件開(kāi)發(fā)多年,平時(shí)喜歡在linux開(kāi)發(fā)環(huán)境下折騰開(kāi)源代碼,常用的編輯器主要都在linux下面,開(kāi)發(fā)工具只會(huì)影響到編程的效率,對(duì)于編碼能力沒(méi)有本質(zhì)的改變,很多初學(xué)者非常迷信一些開(kāi)發(fā)工具或者操作系統(tǒng),如同很多人覺(jué)得懂linux的一定是高手,其實(shí)這只是一種表面的現(xiàn)象,格局再高一點(diǎn)認(rèn)識(shí)上,編程語(yǔ)言從某種程度上講就是一種編程工具,如同很多人覺(jué)得掌握多種編程語(yǔ)言是編程高手的一種標(biāo)記一樣,都是表面想象而已,編程的核心是編程框架思想加上解決實(shí)際問(wèn)題能力。
程序員水平高低和開(kāi)發(fā)工具使用的熟練程度并沒(méi)有直接的關(guān)系,在實(shí)際項(xiàng)目推進(jìn)過(guò)程中會(huì)有一個(gè)直接的體現(xiàn),在面試過(guò)程中參考的直接數(shù)據(jù)是相關(guān)的項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)而不是什么開(kāi)發(fā)工具如何來(lái)使用。現(xiàn)實(shí)中很多編程高手為了不被編程環(huán)境干擾自己的思路,有的甚至使用記事本編寫(xiě)代碼,不是為了裝純潔的編程環(huán)境更有助于自己的發(fā)揮,所以很多老工程師都不是很建議初學(xué)者在入門(mén)之初就使用集成度非常高的IDE,而是從最初始的編譯環(huán)境入手,了解整個(gè)的編譯環(huán)境是如何串聯(lián)工作的,編程的學(xué)習(xí)是知識(shí)體系建立的過(guò)程,為了建立完善的體系知識(shí)面盡量拓展的更加寬泛一些。
在熟悉了基本的編程套路之后切換高級(jí)一點(diǎn)的IDE能極大的提高編程效率,而且一旦習(xí)慣了一種IDE很難再回到比較原始的編輯時(shí)代,畢竟有更有效率的工具使用不可能倒退回去。在linux的開(kāi)發(fā)環(huán)境中開(kāi)始使用vim比較多,而且記住了很多的快捷鍵,后來(lái)發(fā)現(xiàn)使用SourceInsight編輯C/C++使用起來(lái)更爽,以致于這種編輯器使用到現(xiàn)在,前前后后已經(jīng)十幾年了,如果這種編輯器突然從身邊消失,想想一下基本影響不大,頂多是不適應(yīng)或者覺(jué)得使用起來(lái)不方便而已,和能不能做出東西壓根不是一碼事。
如何真正識(shí)別一個(gè)程序員能力的高低?1.編程基本功,說(shuō)到基本功可能范圍非常廣泛,有編程語(yǔ)言語(yǔ)法方面的也有編程算法需要的數(shù)學(xué)基礎(chǔ),甚至直接閱讀英文文檔的熟練程度也是基本功的一種體現(xiàn),在良好的基本功的驅(qū)動(dòng)下,編程能力會(huì)有一個(gè)非常大的提升,曾經(jīng)共事過(guò)一個(gè)同事,在編程寫(xiě)代碼的時(shí)候?qū)戇^(guò)的代碼幾乎都是一遍過(guò),很少回過(guò)頭來(lái)修改,這是基本功非常直接的表現(xiàn)。
2.解決復(fù)雜問(wèn)題的能力,這是一種無(wú)形的能力,在項(xiàng)目推進(jìn)過(guò)程中有些人針對(duì)遇到的問(wèn)題總能想出恰當(dāng)?shù)慕鉀Q方案,把復(fù)雜的問(wèn)題簡(jiǎn)單化,實(shí)際項(xiàng)目推進(jìn)過(guò)程中需要這種人進(jìn)行攻堅(jiān),這是一種綜合能力的體現(xiàn),需要長(zhǎng)時(shí)間的修煉完成,很多初學(xué)者甚至都不能講一個(gè)問(wèn)題描述表達(dá)清楚差距一目了然。
3.編程框架思想,這點(diǎn)主要是寫(xiě)的代碼模塊,維護(hù)性非常高,能提前想到可能用到的場(chǎng)景,后續(xù)添加新的功能也不會(huì)影響現(xiàn)有的功能,這都是框架思想一種體現(xiàn),有些工作很多年的程序員都不具備整體框架設(shè)計(jì)能力,除了經(jīng)驗(yàn)積累之外有時(shí)候需要些許靈氣補(bǔ)充。
編程的核心本質(zhì)是解決問(wèn)題能力以及框架思想能力,單純的一些工具的使用只是錦上添花的作用,很難成為點(diǎn)睛之筆。
希望能幫到你。