都說程序員是一個吃青春飯的職業,做到一定年齡就不適合了,一則思維不再那么活躍,二則新人在技術上很快追趕上來。那么如何才能成為一個不可替代的程序員呢?不是沒有辦法,這一切完全可以做到。不知道?沒關系,我教你!
一個函數千萬不要寫的太明確,更不能寫接口說明了,能寫多長就寫多長,只要你自己把邏輯理清楚即可。不同的功能也最好不要分開,一個函數里能擠下去,干嘛非得分成幾個函數呢!
每個函數里還需要多寫一些臨時變量,即便不用也要寫在那里,說不定哪天就可能用到了呢。而且變量的命名也要非常規,讓他人知道變量的名字了豈不顯得自己沒有水準呢。不要管這種編譯警告,stack還是夠用的嘛。關鍵這種方法還能增加代碼量,代碼量不就是工作量的體現嘛。
數據結構這東西也是關鍵,不能定義的太簡單,這樣也很容易讓人看出端倪,最好定義得復雜些,那樣其他程序員也就看不懂了。做到以下一種效果最佳,一旦要增加新的功能就要更改很多接口,要是能更改很多文件就更好了。那時,一般人肯定辦不到,只有請你出馬了才能解決一切。
多寫幾個源碼文件也是不必要的事情,那樣還有可能造成磁盤的碎片,所以一個項目所要的代碼最好寫在一個文件里就好。這樣做有個最明顯的優勢,可以讓老大直接看到你的代碼量,否則上面的領導根本不知道你在做什么,尤其是在他們發現你只寫了幾百行代碼的時候會覺得你對公司沒有價值了。想想可能要被炒了,你會覺得這個建議是很靠譜的。
log這東西還是要寫寫的,但寫了就存在一種隱患,就是別人可能看懂,然后把自己的代碼更改掉。是不是就沒有辦法了呢?不對,還是有的。就是你要多寫log,無論有必要還是沒有必要,反正現在處理器的能力那么強,沒有必要考慮性能相關的問題。在不同階段,還需要重復調用某一功能接口,那樣就會產生更多的log,絕對讓那些不知情的人頭暈,這樣他們也就不敢去隨意改了。有什么問題出現,到時還得乖乖來請你看。老大一看,每個地方都需要你,到時怎么可能輕易讓你走呢!其他人都可以走,就你不能走,能達到這種效果,是不是就不可替代了呢?對,這不是明白著的嘛。
預定義也是一個絕招,凡是要加一個功能必定要加一個,這樣的話可以實現定制化。要想達到更好的效果,可以讓那些定義互相嵌套,如果這么做,要是某個定義不符合,讓程序根本跑不起來。非此即彼的邏輯都要一起編譯,否則又得讓那群新人看懂了。
一些新人若是想找你要文檔,可不要真寫,問他哪里不明白直接跟他講就好。真講?不,你傻啊,那樣豈不是要把你的位置給奪了。將幾個經常跑到的代碼接口就好,而且只能針對他遇到問題部分的邏輯講,這樣的話,即便他解決了當前的bug,整個邏輯還是不清楚的。
最后一點是至關重要的,就是要有一個態度。當那群新人不懂且要求你更改的時候,你就告訴他們你有新功能要開發,而且很急切,老大催著要,那么那群不懂事的家伙就會乖乖回到自己的位置,不再提這種不合理的需求了。
做到以上幾點,你就可以成為一個不可替代的程序員了。到時你真的要走,身邊的同事肯定不答應,因為他們已經離不開你了,沒了你他們根本解不了bug,更不用說添加新的功能了。說不定到時領導都會拖著你的大腿請你留下呢!