-
1 # 繁星落石
-
2 # 匯智動力學院
程式碼寫得多,不一定就能成為大牛,但是成為大牛的人,程式碼一定寫得多!
道理如同:努力不一定就會成功,但是想獲得成功一定要努力。
程式設計師要想成為大牛,除了多敲程式碼外,還需要:
1、瞭解業務整體
對於很多程式設計師來說,整天敲的都是業務程式碼,不能說業務程式碼不重要,但是要成為大牛,除了敲業務程式碼,還需要對關聯功能,整個業務板塊都有清晰的瞭解。這樣與業務相關的整套業務你都將比較瞭解,有一個比較全面的認知。
2、不斷學習新技能
對於程式設計師來說,工作量是比較大的,常常伴隨著加班。但是要想成為大牛需要不停的學習新技能。可以在工作中不斷學習,學以致用,也需要利用碎片化時間來學習自己業務以外的新技能。比如平日裡寫Java程式碼,你也需要對stop-the-world的概念有所瞭解,並不斷去最佳化,這就是一個成長的過程。
3、善於思考、總結
大牛程式設計師解決問題的能力非常強,且這種解決問題能力的遷移能力也非常棒。要先成為大牛,在遇到問題的時候,要不斷的在做中不斷思考、總結,梳理解決思維方式,並不斷總結提煉。
-
3 # 在路上的水瓶座
不是的。程式碼量只是一部分,應該從規範化寫法,模組化寫法,儘量精簡的程式碼語句去實現,等修改的時候,你才容易。程式碼多,不雜亂。提升能力,應該著眼於專案本身,大專案的開發,不同專案的歷練,單純去多多的寫程式碼,意義不大
-
4 # 程式設計師式韭菜
真正的大牛,不僅寫的多,而且想的也多!
寫,代表著他知道現在的編碼流程,知道功能的實現方式,知道程式碼寫起來到底難不難,知道程式碼的實現週期,這樣就不會妄自安排專案週期了。
想,代表著他開始總結程式碼的優缺點,開始整理程式碼的邏輯,開始思考用更好的方式去實現相應的功能。
更重要的是,想是一個自發的行為,只有你願意思考,你才會去思考,而很多時候,寫,只是你不得已而為之,並沒有真正思考寫的意義,很容易被動。而成為一個大牛,一定是一個願意主動思考的人。
哈哈,加油吧!作為一MISTRA像AI演算法工程師,我也渴望成為一個大牛,真誠一答,願大家共勉。如果有立志學習AI的,可以加個好友,交流交流,技術是相互學習而進步的哦!
-
5 # 遊戲害了好多人
題主的問題,首先要解決一個根本的問題,什麼是水平?
水平究竟是以什麼為基礎的?
軟體開發是以什麼作為核心競爭力的?
所以仔細思考一下,傳統技藝的水平是靠什麼來展現的:
1 對於該技能的熟練程度
2 對於該技能的擴充套件程度
以木雕為例,其水平的體現在於,刀工,刀法,細節,構思等方面。
以種地為例,其水平的體現在於,作物的產量,作物的品質。
那麼對於程式設計師來說,什麼是水平的高低呢?
程式設計速度更快麼?
不是,一個專案程式碼,一天完成和兩天完成,速度提高50%,並沒有什麼實際意義。
速度更快不是一件壞事情,但是速度提升了,真的會產生有效的輸出麼?不見得。
程式語言學習種類更多麼?
如果一個事情能用,php ,c++ ,python 三種方式解決,那麼只需要會其中一種就可以了,就算把全天下的程式語言學會,也不見得能有多高的水平。
學會的方法更多麼?
以ios 為例,系統級的api,每年都在更新,你會用了舊的api,明年就又可能有新的api,更快的方法,更簡答的表示式
以上的例子,很容易看出來,程式設計和傳統技藝的不同,程式設計是一個廣泛,而且需要與時俱進的技藝,這個時候,通常不需要你有超高的程式設計速度,不需要擁有超凡的程式碼結構,也越來越不受低端硬體束縛。
那麼,究竟什麼是程式設計師水平的體現?
程式設計師的核心競爭力到底是什麼?
高效的學習能力本身,才是程式設計師的核心競爭力。
現在學習的知識,現在學習的方法,現在學習的演算法,可能幾年後被新的知識替代,被新的方法替代,被新的技術替代。
所以答主不要被知識廣闊性迷惑,而是要結合自己所面對的問題,來不斷的學習。
知識的海洋是無限的,在有限的生命中追尋無限知識是無意義的,
要從無限的知識中,選用有限的方法,來解決有限的問題,才是有意義的
寫程式碼和做產品一個意思,一開始做加法,然後開始做減法!
就我個人而言,能用一行程式碼搞定的事,休想騙我用十行!
但是在剛開始做開發的時候,由於對語言特性,思想,基本資料結構,API的不熟悉,我們可以寫更多的程式碼來增加自己對程式語言的理解,但是此時的多不應該理解為程式碼量的多,而是實現方式的多,比如說map的遍歷就有多種方式,ketSet,entrySet,迭代等多種方式,如果在一開始使用的時候就只會一種,那麼在某些特定的場景裡可能並不適用,所以做程式設計一開始應該學會做加法!
等到熟悉了基本的開發,怎麼能用最簡便,最清晰的方式做開發變為重點,應該使用最簡單的方式實現業務程式碼。
舉個栗子:一個物件list<Man>按照某個欄位進行分組,需求很簡單,怎麼實現呢?
首先new一個map<string,list<Man>>,遍歷list,new一個list1,將物件欄位作為key,物件放入list1,然後作為value放入map,遍歷第二個元素的時候,需要判斷這個key是否存在,如果存在,取出存在的list1,將物件放入,如果不存在,new一個list2,將欄位作為key,list2作為value放入map,程式碼實現大概有10行的樣子(具體程式碼不想寫)。
但使用JAVA8的流式處理,就一行程式碼如下:
是不是超級簡單?
很多時候,我們程式碼的簡化,得益於源語言的不斷升級,所以在實際開發中我們需要不斷的擁抱語言帶來的新特性,和別人分享的開發技巧,來簡化開發流程!
就JAVA語言而言,相對其他的go,scala等都略顯笨重,比如使用設計模式進行開發,很多程式碼都是一開始看沒有必要的,但是在後期擴充套件的時候,會發現十分容易,整個架構也很健壯,使用必要的更多的程式碼換取程式的健壯性,可擴充套件性是值得的!
綜上,程式碼並不是越少越好,切勿偏離了程式碼設計最基本的原則(可擴充套件性,單一原則,健壯等),更多的程式設計技巧,敬請關注。。
-
6 # 大學生程式設計指南
從事軟體開發多年,有一點是非常明確的寫程式碼的數量只是在總體量上佔據有優勢,但並不代表著程式設計能力就一定是最強的,畢竟寫程式碼的能力只是程式設計師的一種基本能力之一,如同掌握一門程式語言是一樣的道理,不是掌握的程式語言越多能力越強大,只是簡單的做過幾個專案用對應的程式語言,並不會成為真正的程式設計大牛。
優秀程式設計師應該具備的幾種能力1.程式設計基礎
程式設計基礎就包括寫程式碼的能力,準確講是寫高質量有效程式碼的能力,很多初學者在設計一個程式設計模組的時候很容易把一個簡單的功能,用很多冗餘的程式碼去實現,同樣的功能讓程式設計大牛去實現可能只需要少幾倍的程式碼去實現,而且基本上保證不出問題。基礎不單單的寫程式碼的能力,還包括掌握基本的程式語言,資料機構,基本演算法等等,程式設計基礎概括起來的內容非常繁雜,所有的程式設計大牛在程式設計基本功方面都不會含糊。
2.專案經驗
專案經驗是程式設計師找工作漲工資最大的一個依據,專案經驗代表著程式設計師直接能夠上手解決的問題,程式設計師直接就能上手解決問題,直接就能給企業做產品帶來利潤,這也是程式設計師價值所在。程式設計師對於學歷要求不像別的行業那麼嚴格,很多學歷不是很高的在有了專案經驗之後,一樣能夠拿到高工資,程式設計師立業之本的就是專案經驗,專案衡量的標準是解決問題的能力,以及後續解決問題的穩定性,對於程式設計新手來講也具備解決問題的能力,但是解決一個問題引起了別的問題,有些問題可能解決起來引起了整個產品效能的下降。但程式設計老手在解決實際問題的時候都會思前想後,把框架內容真正吃透之後才開始下手解決問題,所以老手一般是拿到問題之後會調取大量的資料,研究內在原理把事情徹底搞清楚之後才真正開始做東西。
3.程式設計框架能力
具備框架能力是高階程式設計師必備技能,這是在具備程式設計基礎和專案經驗的基礎上提煉出來的,需要有心人去總結歸納出來的思想,很多初級程式設計師立志成為架構師,要達成這種目標不是簡單的看看軟體框架就能修煉出來的,需要掌握雄厚的程式設計基礎和專案經驗之上提煉出來的精華,然後加上自身對軟體框架的認知總結出來的東西。當然還有一個很重要的是有公司真的讓你去練手, 不是每個程式設計師都有架構產品的機會,如果抓住這種機會了可能會一戰成名,前提基礎是能力真正具備了,不要羨慕很多牛氣的架構師,也是從普通的程式設計師一點一滴積累出來的。
-
7 # 冰魄秋雨
首先肯定的回單是,程式碼量不能決定大牛的前提條件。
低質量的程式碼
首先一定要排除掉低質量的程式碼,而低質量的程式碼中包含大量的簡單的增刪改查和簡單的業務邏輯。這種堆程式碼的形式,對工作量兩年之後的程式設計師是沒有特別大的提升的。反而浪費的大量的時間和精力在上面。
避免為了寫更多的程式碼而寫程式碼
能夠使用一行程式碼的直接使用程式碼,能夠呼叫庫的,直接使用庫,能夠使用第三方框架的直接使用第三方框架,而不是所有的東西都自己寫一遍,從而體現自己有多麼牛。懂得其原理就足夠了。
需要解決問題的能力,而不是埋頭寫程式碼
程式碼是完成一個功能或者是解決一個問題,而如果埋頭僅僅是編寫程式碼,而不去思考,寫的程式碼解決了什麼問題,什麼這麼寫,這些程式碼能夠產出什麼?沒有這些思考是真不能夠讓自己提升,重複操作的機器人的勞動力最廉價。
而大牛的存在時為了解決問題,透過程式碼來解決這個問題。大牛為幫助初級程式設計師,從而形成自己的影響力。
回覆列表
沒有關係。沒有營養的程式碼寫一萬行也沒有用,重點是要在每一段程式碼中學到一些知識,無論是架構方面的還是最佳化方法。
雖然很多內容以來經驗解決,但是隻有新的經驗才有價值,依賴老的經驗不會帶來任何改變,只會讓自己生活在舒適區混日子罷了。