隨著技術(shù)的發(fā)展,我們現(xiàn)在所接觸的大多屬于對象型語言豌熄,對于開發(fā)者來說授嘀,能夠很輕易的將生活化的需求轉(zhuǎn)換成代碼。
在軟件設(shè)計領(lǐng)域锣险,現(xiàn)在最熱的前沿就是所謂“面向?qū)ο蟆钡能浖阒濉R粋€面向?qū)ο蟮某绦颍∣OP)實(shí)際上就是一個相對去中心化的、模塊式的程序芯肤。對于一個OOP來說巷折,它的一個“碎片”,就是一個獨(dú)立成立崖咨、保持自身完整性的單元锻拘;它可以和其他的OOP“碎片”整合在一起形成一個可分解的指令結(jié)構(gòu)』鞫祝“對象”限制了程序漏洞所能造成的損害署拟。和那種傳統(tǒng)程序不同,OOP有效地對功能實(shí)行了隔離际邻,把每一個功能都限制在一個可掌控的單元內(nèi)芯丧,這樣一來,即使一個對象崩潰了世曾,程序的其他部分也能夠繼續(xù)運(yùn)轉(zhuǎn)缨恒,而對于傳統(tǒng)程序來說谴咸,一個地方出了問題,整個程序就會崩潰骗露。程序員可以把這個壞掉的單元換掉岭佳,就好像我們可以給一個汽車換剎車片一樣。軟件的銷售商可以購買或者銷售各種事先編制好的“對象”庫給其他的軟件研發(fā)人員萧锉,后者則可以基于這些庫里的對象快速地組裝起大型軟件珊随,而不用再像以前那樣重新一行一行地編寫新的代碼。而到了要為這種大型軟件升級的時候柿隙,你所要做的就是升級舊的對象或者加入新的對象叶洞。 - KK 《失控》
不僅僅軟件是一個相對去中心化的,模塊式的程序禀崖。硬件也是一樣模塊化的衩辟,如下圖的iPhone肢解圖。每一個單獨(dú)的小模塊都是由不同的廠商開發(fā)波附,最后在富士康組裝的艺晴。
這跟我們做一個App有區(qū)別嗎?好像沒有掸屡。
拿移動App來說封寞,不管是系統(tǒng),還是第三方開源lib仅财,都給我們提供了很多獨(dú)立模塊狈究。網(wǎng)絡(luò)請求lib,數(shù)據(jù)庫orm盏求,圖片緩存lib谦炒,UI組件等等一系列豐富的模塊。
做為開發(fā)者风喇,我們的職責(zé)是做什么呢?像不像流水線上的組裝工缕探?app workflow已經(jīng)定制好了魂莫,我們在不同的節(jié)點(diǎn)做好相應(yīng)的拼接就好。雖然說需要那么點(diǎn)技術(shù)爹耗,但也不算什么高難度的事情耙考。
那么問題來了。你職責(zé)能cover的range有多廣呢潭兽?
- 只會安裝某個單一零件
- 會安裝多個零件
- 負(fù)責(zé)一條生產(chǎn)線
- 負(fù)責(zé)整個生產(chǎn)線
- 設(shè)計生產(chǎn)線組合
這不就是程序員的走上人生巔峰的奮斗歷程嗎倦始。
在我們掌握了'最小可行體系'之后,下一步該做什么山卦?比如先給自己定個小目標(biāo)鞋邑,先掙它一個億!!枚碗!
在一個系統(tǒng)之上做開發(fā)逾一,代碼只不過是排列組合變成具有特殊功能的載體。就像英語是由26個字母組合而成的肮雨。零散的沒有生命遵堵,牛逼的排列組合卻成了創(chuàng)新。但是26個字母的隨機(jī)組合有那么多可能性怨规,如果沒有規(guī)則在里面陌宿,常人怎么學(xué)的會哇。
所以英語就有了前綴后綴與詞根來縮小排列組合的范圍波丰。漢語就有了偏旁部首來作為規(guī)則壳坪。在你打算掙它一個億之前,如果不事先了解這些規(guī)則技巧呀舔,想想你要花多少的時間去篩選那萬分之一的有意義的東西呢弥虐。
從0到1的階段不適合采納別人的建議,按自己想的來媚赖。但往后的優(yōu)化調(diào)整階段霜瘪,需要聽取外界的反饋,從1到100是非常漫長的過程惧磺,想要少走彎路颖对,必需借鑒他人成功的經(jīng)驗(yàn)。也就是說磨隘,站在巨人的肩膀上缤底,自己也能是'巨人'。
巨人可以是大公司番捂,可以是牛逼的團(tuán)隊个唧,可以是技術(shù)犀利的老大... 這個巨人越高,你能看到的更遠(yuǎn)设预,你的目標(biāo)也就越明確徙歼,也更容易達(dá)到。
這些都沒有鳖枕?沒有就想辦法讓自己有啊魄梯。沒有條件上,就要拼命創(chuàng)造條件去上宾符。
由于從1到100的戰(zhàn)線過長酿秸,技術(shù)更新又那么快,難免會有迷茫魏烫。
到底是努力走到100辣苏?還是做個斜杠青年掌握多個從0到10肝箱?
其實(shí)大家都不想成為被隨意GC的'對象',而GC必要條件是不再持有該'對象'的引用考润。那么為了不被GC狭园,這個對象就得變得重耦合。即每個生產(chǎn)線糊治,每個部門都要持有這個'對象'唱矛。要做到這一步,至少需要掌握多個'最小可行體系'井辜。即:上會產(chǎn)品绎谦,運(yùn)營。下會架構(gòu)粥脚,測試窃肠,ps。
這樣看上去很美好刷允,表面功夫做到位冤留,耦合到每一個部門,但如果某一天忍痛重構(gòu)了呢树灶。這種無效耦和第一個要被清除吧(Stay最不怕的就是重構(gòu)纤怒,開人也是如此)。如果是真牛逼天通,他肯定會聰明的做為'門面'(門面模式)對接外部與內(nèi)部泊窘,而不是心力交瘁的盯著內(nèi)部每一個部門運(yùn)轉(zhuǎn)。
大家是怎么看的呢像寒?在工作中如何定位自己烘豹,是否還有上升空間?不妨想想看吧诺祸。
本篇為胡思亂想的番外携悯,我說的,都是錯的筷笨。歡迎指正蚌卤。
?推薦閱讀:
還需要再學(xué)習(xí)一門語言嗎?
還在用應(yīng)試教育那一套學(xué)編程奥秆?
“一周一語言”是如何做到的?