您的位置:首頁(yè) > 業(yè)內(nèi)資訊 > 大神攻略:精通型程序員的特點(diǎn)
一個(gè)有能力勝任的程序員當(dāng)然可以閱讀Memento Pattern并理解如何去實(shí)現(xiàn)它。他們或許甚至能夠確定可以應(yīng)用模式的場(chǎng)景(可能在GUI中實(shí)施撤消操作)。但是,如果沒(méi)有更多地了解大局,他們?nèi)钥赡軙?huì)應(yīng)用不適當(dāng)?shù)哪J健?
相比之下,精通型程序員則能夠確定何時(shí)Memento Pattern失。ɡ,在你要復(fù)制大量數(shù)據(jù),或要有大量拷貝量的時(shí)候)。他們或許會(huì)知道一些可考慮的替代方案,在模式并非完美匹配的時(shí)候。他們還對(duì)如何在Memento背后采用基本概念有一些想法,然后應(yīng)用這些想法以創(chuàng)建一個(gè)自定義更適合特定用例的解決方案。
更為重要的是,精通型程序員能夠識(shí)別正確和錯(cuò)誤的設(shè)計(jì)模式 —— 如果建設(shè)概念驗(yàn)證功能,適當(dāng)代碼設(shè)計(jì)的問(wèn)題可能就變得無(wú)關(guān)緊要。如果向初學(xué)者解釋代碼庫(kù),精通型開(kāi)發(fā)者可能會(huì)堅(jiān)持著重于代碼實(shí)際上是做什么的,而不會(huì)拋出命名模式,并告訴新手“在問(wèn)我任何問(wèn)題之前,先去閱讀《Gang of Four》”。
所以精通還意味著有整體思維的靈活性。
模式,原則,風(fēng)格,庫(kù),語(yǔ)言功能 —— 這些都是工具。但是,一個(gè)真正的精通型程序員會(huì)讓工具來(lái)匹配工作,而不是工作匹配工具。
許多人從來(lái)沒(méi)有專(zhuān)門(mén)專(zhuān)注于發(fā)展精通能力,因?yàn)樘孤实卣f(shuō),勝任能力更直接。但是,如果你想要改變重點(diǎn)并得到一些幫助來(lái)攀登一段新的歷程,那么不妨試試這些:
• 解釋為什么你想要用某種方式做事的原因推理,不依賴于通用的“最佳做法”或社區(qū)準(zhǔn)則。單單只在你要解決的當(dāng)前問(wèn)題的背景下討論利弊。
• 了解的東西越少,了解得越深。然后嘗試在不同的上下文中加以應(yīng)用,看看它們?cè)谀睦镉行,在哪里無(wú)效。從失敗中尋找機(jī)會(huì)來(lái)尋求新的工具,可以幫助拓寬你的技能集的工具,但只在你已經(jīng)確立了明確要求的時(shí)候。
• 尋找其他人“打破規(guī)則”并取得成功的范例。偶爾打破自己的一些規(guī)則,看看是會(huì)傷害你,幫助你,還是沒(méi)有變化。
小編推薦閱讀
本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]
湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2025 haote.com 好特網(wǎng)