代码全靠copy,Bug又烂又多,做程序员的目的是什么?
我經常跟同為程序員的讀者交流,關愛讀者,我有責任。
有位工作不到3年的程序員分享給我的學習感悟,讓我蠻有感觸的:
一開始學習的時候,會覺得各種技術是最難的,隨著不斷學習和工作經驗的增加,技術難點總會有攻克的一天,所以技術難點并不是最難的。
其實工作后發現,工作中大部分的代碼都很簡單,簡單到你懷疑程序員的技術含量。但同時問題也正在于此,很多程序員因為簡單就不以為然,寫代碼只要求功能實現,代碼copy過來一改,測試通過就算完成,導致代碼量快速增長,bug數居高不下。如我們有些產品每年能增加十幾萬行代碼···
我個人覺得工作中最難的是寫簡單的代碼,把簡單的業務代碼寫得精致,寫到每一個人都能看懂。寫簡單的代碼,你需要不斷的提高對自己的要求,不允許自己出現重復代碼,不斷重構,對每一個函數、變量的名字、類型、順序都會經過自己的思考,對每一個代碼每一個日志都要思考是否必要是否有更加好的方式。考慮這些代碼是應該放Controll還是Services,是否應該放aop實現···
有幾年工作經驗的程序員都還在代碼上反復推敲,會花很多精力在抽象,封裝,繼承,然后會刻意的用虛函數,接口,lambda表達式,回調函數,反射等等。
但是我們做程序員的目的是什么?本質是解決問題的能力。不過度追求“優雅代碼”,不“過度設計”。讓寫代碼成為你解決問題時使用的工具。
我問他,現在主攻哪一塊,有沒有什么想法?
他的字里行間充滿勁兒,現在除了按需要完成工作,更是追求代碼的復用性及容錯性,現在主攻Java性能調優這塊,應用到項目里,可以直接將運行效率提高一半。
后續我也追問了,能不能分享一下Java性能調優的主攻路徑?
他表示靠自學就不太現實,主要是跟著課程走,有一個系統性地學習計劃。然后甩給了我一個課程,我看了一下課程目錄,很適合工作經驗1-3年,以及薪資一直達不到30K的程序員。
課程主要是針對面試高頻考點做的,但Java性能調優這塊很實用。他建議那些想要突破加薪的程序員先去聽一下,幾乎可以算免費。
價值99元的黃金面試課程,現在體驗價只需0.02元。
這份課程的內容到底是什么呢?
匯合了一線大廠面試真題的寶藏課程《金三銀四面試突擊-性能調優》
涵蓋面試會問到的95%的問題,都給你準備好了
一、關于Java虛擬機底層原理與性能優化
1、Java虛擬機內存模型能說說嗎?
2、類加載器的雙親委派模型是什么?
3、JVM垃圾收集算法與收集器有哪些?
4、JVM診斷調優工具用過哪些?
5、每秒幾十萬并發的秒殺系統為什么會頻繁發生GC?
6、日均百萬級交易系統如何優化JVM?
二、關于Mysql索引數據結構與性能優化
1、索引數據結構紅黑樹,Hash,B+樹能說下嗎?
2、千萬級數據表如何用索引快速查找?
3、如何基于索引B+樹精準建立高性能索引?
4、聯合索引底層數據結構又是怎樣的?
5、覆蓋索引與聚集索引到底是什么?
6、Mysql最左前綴優化原則是什么?
三、關于BIO,NIO,AIO,Netty及Redis線程模型
1、BIO,NIO,AIO的區別?
2、什么是阻塞IO以及非阻塞IO??
3、Reactor和Proactor IO設計模式是什么?
4、NIO底層select、poll和epoll實現的區別 ?
5、Java NIO的幾個核心組成部分是什么?作用分別是什么?
6、Redis、Netty、Tomcat的線程模型與NIO的聯系是什么?
每天重復性地copy代碼,修改層出不窮的Bug,或許都是在告訴你,你該進階了!
點擊閱讀原文,跟隨諸葛老師,修習這堂性能調優寶藏課。
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的代码全靠copy,Bug又烂又多,做程序员的目的是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NYOJ 257 郁闷的C小加(一)
- 下一篇: NYOJ 267 郁闷的C小加(二)