-
1 # 小丁兒
-
2 # 奪寶小虎
1、動手
很多時候,自己去看教程,覺著很簡單,但是動起手來就是另外一回事了,學程式設計一定要去練習
2、看原始碼
多看高手寫的原始碼,主要是學習高階程式設計師的思想,同時也能學到很多平常用不到的語法和知識點,有助於在日後的編碼中提升自己的能力
3、做專案
一定要參與專案,人都是懶惰的,要跟專案一起推進自己的編碼能力,克服自己的惰性,還有就是跟專案能培養自己團隊協作的能力,也能養成一種好的程式碼風格。
4、不要尋求捷徑
世界上沒有捷徑可走,比如你可能圖捷徑去參加職業培訓,不是說不能參加,是等你有一定基礎和思維能力之後再參加,要不然很大可能就會有思維侷限性,限制你發展的上限。踏踏實實去積累,積累的同時去思考才是正確的方式。
-
3 # huzibbs
程式設計方面入門簡單,想提高的話,首先你的其他方面知識也得有一定的積累,比如演算法,資料結構,數學,英語等等方面的知識,當然如果你只是想做單純的碼農來練習熟練度的話,那只有勤練習,多敲程式碼,多寫專案才能積累你的開發能力,別人幫不了你的。
-
4 # 大樹NB
多看與多練
多看指的是多閱讀別人的原始碼,看別人的處理思想,細節技巧。
多練指的是貼近實際的編寫程式碼。
三分看七分練,寫程式碼是個技能,不分語言的技能,就像騎腳踏車,一旦掌握了就不會忘了,而且會騎腳踏車基本就會電動車摩托車,大概10萬行程式碼是個門檻(因人而異),能獨立寫過不是複製貼上的,基本就入門了,以後即便不寫程式碼也不會忘了,沒過這個門檻的隔段時間還得從頭再來
-
5 # Kitty老師講軟體測試
樓主好!
1.計算機基礎要打好
對於新手來說想快速提高開發能力的前提條件是你要具備一定的計算機專業基礎。
為什麼呢?大家都知道任何軟體專案都不是由一個人開發完成的,需要多個角色參與。
比方說:要想開發一個高質量的軟體專案需要產品經理、需求分析師、架構師、軟體開發人員、軟體測試功能師、專案經理、策劃設計師等等相關部門互相合作才能完成整個專案的研發。
不同的人在專案過程中承擔不同的責任一起配合整個專案的研發,那不同部門角色質量技術有沒有銜接性?
必然是有的,所以只要你選擇從事計算機行業,計算機基礎是必備的,如果你基礎不好,在與其它人員溝通問題是會導致溝通不順暢,為什麼?
技術與技術點很多時候是想通的,比方說:開發者開發一個介面,而測試人員需要測試這個介面,但是呢測試人員如果不懂介面邏輯原理過程就無法更好的與開發溝通,會導致開發講什麼測試聽不懂,從而讓開發與測試溝通不順暢。
2.邏輯思維能力強
大家都知道,現在軟體的開發需求大部分是面向物件的一種程式設計語言,萬物萬事一切皆物件。
相當於將一個現實世界的人與物透過計算機語言創造一個網際網路世界。
不同的人邏輯思維能力不一樣,要想快速提高程式設計能力,需要大家平時多培養思考問題的習慣,在專案當中多鍛鍊自己,才能快速成長。
3.演算法能力強
一般來說,從軟體開發分工來分析,後端開發人員的能力比前端開發能力強,大部分同學會後端開發,做前端開發會很輕鬆。
為什麼?因為軟體專案前端的功能透過介面需要與後端進行互動,也就是說前端的所有介面內容都要透過與後端服務進行做資料處理與計算,核心在於資料結構演算法能力強,為什麼很多人說要做一個優質的程式設計師不簡單問題也就出在這裡。
演算法能力強的程式設計師,思維敏捷,有些程式設計師實現一個功能需要寫一堆程式碼,而優質的程式設計師幾行程式碼就搞定了,而且程式執行效率高。
4.多積累專案實戰經驗
要想快速提升開發能力最有效的方式就是跟著團隊一起做專案,透過一兩個專案的開發引入開發技術,透過不斷的發現問題解決問題來提升自己的能力,人們常說“實幹興邦”,只要你去多練習,提高開發能力不在話下。
總而言之,要想快速提升程式設計能力,首先一定要具備一定的計算機基礎,其次增強邏輯思維能力與演算法能力,再基於技術知識點融合專案來解決問題,就能有效快速提升程式設計能力。
-
6 # 尚學堂大資料學院
提高開發能力沒有捷徑可走,掌握程式設計思維、整體架構和專案實踐,否則只能是普通層面,另外要重點學習一個方向,往往實際工作都是單一技術方向,各有分工,團隊協作,在一個技術方向上有利於發展提高,比如JAVA和大資料,很多人開始學習大資料,那就不要再做其他,大資料未來發展空間很大,只要堅持下去,相信慢慢會步入正軌,學好技術是最關鍵,需要從大資料基礎學起
第一步,程式語言的基礎
第二步:常規專案問題解決能力,編碼能力
第三步:創造性、挑戰性專案開發設計能力
-
7 # brian
一名小白程式猿怎麼快速提升程式設計能力
一、先列三個常見的 開發狀況:1、拿到 一個模組詳細設計文件,大部分程式設計師的 通常做法即使如此開頭搭建介面譯碼,然後從第一個按鈕點選軒然大波或頁面Load事件始發寫率先行事體譯碼。寫的幾近了,就運轉瞬間,發覺何在舛誤自己想的那般,就改改,截至改到是友好預料的那般。
2、做完了一個功能模組或幾塊相關聯的功能模組,輸入111asd,察覺新建正常、儲存正常,就提交給測試人員。測試員用測試用額數、測試氣象用例來測試,覺察有題材,就報了名bug。對此嚴重的薰陶下一步測試的BUG,測試員就用其中IM照會其一開發人員。對此不薰陶存續往下測試的BUG,測試員就註冊下去,等程式設計師有空時甩賣。
3、程式設計師形似幹活不冀望門閥打攪,故而開銷四起即使開發。等手下開支止住,就探視BUG庫。意識有與溫馨關於的BUG,就從第一個BUG啟幕看起。就下車伊始透過IM和測試員掰扯興起(這大過個BUG啊、事體邏輯舛誤你想的那樣啊、我此地辦不到復發啊、你給的音息敘說不清晰啊),於是IM幾來幾往,竟自跑病故大面兒上交流一番,甚至會帶累上必要產品經理一塊兒座談,更甚者需要專案經理或產品經理發起一個會議來集體討論一下
這是否很耳熟能詳呢看這縱然大部程式設計師支出的三個步調:寫程式碼、自測、修復BUG。
二、說好的程式碼擘畫、程式碼測試呢看程式碼擘畫看那過錯都有開發樓臺麼,業經定勢了啊。那大過保安舊機能做統籌兼顧批改呢麼,又錯事寫新程式碼,唯其如此在共處程式碼基礎上修定啊,你又辦不到大幅重構。
程式碼測試看你丫需求座談期、產品設計期、計劃性評審期這就是說長,都把研發類別歲月佔光了,就留住2個禮拜天讓咱們寫程式碼,我們哪裡有歲月搞那末深的測試。還想讓俺們搞結對程式設計看還想讓俺們搞測試驅動開銷看
並且你看測試,哎喲功能測試、一統測試、通性測試、平安測試、裝置安排測試、提升測試、遷移測試、UAT測試,一大堆測試,測試也亟待諸多時間。
三、程式設計師寫程式碼連日寫寫測測看剛才朱門也都看到了,大多數程式設計師都是從介面程式碼初始寫起,再者寫一寫,就週轉一瞬細瞧。何以會是這種開發方式看
那鑑於絕大多數程式設計師短少在心機中的共同體建模能力。只好做出來某些,真實的感覺到瞬即,接下來再往下。
略帶是製品經理的下游就有題目,沒給出事情指紋圖(歸因於必要產品經理也沒做過業務),也沒畫清楚產品效益操作指紋圖。
何故沒給出事情略圖看歸因於產品經理不熟悉業務,除此以外,出品經理也從不流程建模能力啊。緣何沒畫清楚出品職能操作流程圖啊看歸因於不會清晰表述工藝流程啊。
好多出品經理、程式設計師,都缺乏分門別類、汊港、呼吸相通、先來後到能力,更別說小結、察言觀色能力。
這是基本訓練,是一個視事頭腦清醒的人畫龍點睛的技藝,這大過一個程式設計師或產品經理或測試員的特定技巧務求。
我三天兩頭看書就梳理書的條理,每看一本就寫一篇下結論。我不諱談天說地淡還梳理過水滸傳、紅樓夢的人氏關涉圖呢,事實上就在事事上訓練要好的關聯性、層次性、觀測性。
我不時面試一個人時,我會問這麼樣的問題:逗你把我剛才說的話複述一遍,此外你再答對一剎那我緣何會這般看地,實質上,我就在看一個人的細心記得、完整梳理、再現能力,我也在看一個人的梳理、總結、體察能力。
我個私寫程式碼就喜好先時有所聞業務流,然後略知一二資料表關係,下一場領略製品功用操作流,約莫對效能為何如斯計劃性、功能這樣操作會取什麼表、插入或更新怎麼著表,何許表的狀態欄位是事關重大。
然後我寫程式碼的辰光,就據悉我所懂得的業務流、功效操作流、額數輸入輸出流,定義函式,定義函式的輸入與輸出。
下一場,我會給因變數的輸入值,賦上一些固定值,跑下來細瞧可不可以跑通這幾個關聯因變數,省視還特需該當何論的新增函式,抑或看看因變數的輸入輸出引數是否滿足跑通。
剩餘的事,即或我填肉寫詳細邏輯程式碼了。
自然,多數人沒我這一來的邏輯建模能力。怎生涉獵透亮也想像不出來,也遠水解不了近渴概念函式。終究有邏輯建模能力的程式設計師都很少,100個人裡有10個,業經是求太爺告太婆好幸運了。
那怎麼辦呢看
我建議是解手分工相配,這不畏切實中沒道道兒的解數。讓有邏輯建模能力的人來擘畫函式框架、來計劃性傢什來設計程式碼模版,然後讓一無邏輯建模能力的人來填肉寫詳細邏輯程式碼。
咱倆得以先從最緊要的模組初始這一來做。不緊要的模組,還讓它放,讓熟練手程式設計師維繼寫道。
我早已還讓有腦力的程式設計師做樣板,給世族大快朵頤他是怎生計劃性因變數的,怎麼做維護性程式碼的程式碼構造精益求精的。可是發覺效果並不佳,其他人並從未所以能做程式碼企劃。或是邏輯建模能力是村辦的基本素質,是常年累月訓練成型的,錯處你一個大學已經幾年的人力所能及短時間內可以教練的。
因而啊,要麼讓能走的人先走,讓從最緊要的模組下車伊始這麼做。
不須揪心這麼樣做後,歸因於病故一件事被分工(一個做程式碼框架一個填肉)成兩個人做了會回落工作效率。咱倆袞袞的工作效率低即若因為半瓶子醋搞出來的,來回來去再而三批改。
真是應了劉德華在影片裡說的那句話:說你又不聽,聽又聽不懂,聽懂了又不做,做又做不好,做不好還不服氣。
四、為何大多數程式設計師不做程式碼測試或白盒測試或單元測試呢看
故此啊,先學會擘畫因變數,先寫好因變數,這就求太爺告祖母了。不少開發了5年的熟練手程式設計師,也許都未見得會寫因變數。
因變數的輸入輸出值就很有刮目相看。那麼些人都寫死了,隨著版本迭代,窺見病逝界說的函式引數不夠用了,於是就增創了一個引數。接下來,相關性異常就從天而降了,任何提到的地方忘改了,究竟何等有事關,怎生查啊,本體系從不,難保另一個體系就呼叫你了,你根本不冷暖自知,心明如鏡何許人也神經人一度COPY過你的程式碼修吧修吧就更改了他的效驗呢,而且之中的大隊人馬程式碼他看不懂也不敢刪,若果他奮鬥以成的效驗正常了他也不論是了。於是,你改了你本條因變數,他的體系就莫名陰錯陽差了。
故而,我類同會定義幾個目標來做引數。別有洞天,我也很刮目相待因變數的日誌、因變數的異常衛護、異常丟擲、異常返回。此外,我也很講究引數輸入值的合法性校驗。
因故啊,理當支付Leader們先制定因變數編輯業內至上實施,輸入輸出引數怎麼界說可比好,函式的返回值哪邊界說可比好,因變數的日記記錄理所應當怎麼寫正如好,函式的異常維護、異常丟擲、異常回來怎樣寫可比好。先教會似的程式設計師,先從會寫因變數起頭啊。
當然,你光有一份科班,程式設計師們抑或不明瞭、不實在動用啊。因此,還得Leader們辦好堪稱一絕的程式碼模板,箇中是吻合因變數正兒八經的程式碼框架,惟有這樣,類同先來後到員們才會祖述適於了因變數擘畫的程式設計吃得來。
故而啊,我專程再次界說了leader的明確職掌,裡面第一個重要職責縱令:承負傢什/框架/模版/明媒正娶的制定,再就是負責放開且施訓用到落地。
你不明確定義Leader的以此重要職責,你不對以此職掌做明確的KPI考勤,誰尿你啊。你覺得好的傢什/框架/模板/正規化是靠眾人的熱心、天稟發出的麼看我輩還並未這就是說自覺高尚啊。
五、何故大多數程式設計師不寫註解啊看我常常說一句話,千萬別多寫詮註。何故看
歸因於咱倆三天兩頭遇到的題目過錯未曾註釋,而是更糟的是,詮註和實況程式碼邏輯是不核符的。這就面世常見問題了:留置下來的設 計文件是一個邏輯、箋註是一個邏輯驗明正身、真實程式碼邏輯又是一個,鐘錶多了,你也不領略正確流光了。
因此啊,製品文件、箋註、真實程式碼,三者接連不斷很難一致一路。我為了幾百人研發組織能姣好以此同步花了大量心血和長法,但我末段也沒釜底抽薪了本條題目,還把Leader們、總監們、我都搞的委頓。
索性迴歸到漫天一切的根子,程式碼,即若程式設計師的絕無僅有出現,是最有效的油然而生。那麼,讓程式碼寫的不用箋註也能看懂,咱得奔著這個鵠的走啊。
幹嗎看不懂,不就是義大利麵條式程式碼麼,又長又互相交雜。
OK,我就規定了,每個因變數未能超越50行。用這一個簡單規定和靜態程式碼反省外掛,來強使世族嚐嚐著寫函式。一些函式屬於流水線函式,是串起其他因變數的,組成部分函式就是詳細心想事成函式,奮鬥以成一個且唯一一個明確來意的。
有了工藝流程因變數和功用因變數,與此同時每個因變數不超常50行,這就比跨鶴西遊易於看懂了。
六、為何絕大多數程式設計師不抽象公共因變數啊我每每說一句話:千萬別抽象公私因變數啊。幹嗎看
因為大部分程式設計師短欠抽象洞察能力。特地是略略再接再厲來者不拒綽有餘裕、愛學學愛看書、半瓶子醋搖盪的二桿子,看了幾本UML、重構、設計模式、整潔程式碼之道,就試跳了,還真敢給你抽象集體函數了。
一開端,他認為80%相似,20%不相似,於是在公私因變數內部簡單寫幾個if..else做個區隔就足以。沒想到,越乘興版本迭代,這些功用逐月越變越不雷同了,不過其一程式碼曾經幾經人員了,再就是這是一個公家函式,誰也不明亮累及微微,因而誰也不敢大改,發覺問題了就加一個if..else論斷。
沒想到啊沒想到,其一本來彼時國有的因變數,現在化作了體系最大的癌瘤,最複雜的地方,誰也不敢動,只有事實上遠水解不了近渴,手起刀落。
因故,我平日告誡程式設計師,純技能的、純通用的,你們方可遍嘗搞搞抽象共用因變數,對於業務的,你們要麼簡單粗暴的依據Leader們做的程式碼模版程式碼框架,小寶寶的複製、修定、填肉吧。
你們啊,先從做沙盤做程式碼片段始發吧,我們嵌入俺們之中程式碼有的開源庫裡,看誰的程式碼有的被他人複製的多,驗證你的程式碼抽象擘畫能力越好了。那時,我就履險如夷想得開讓你撒丫子跑了。
-
8 # 技術剛剛好
本人做開發已經9年了
開發水平還行吧,
想提高自己的水平就是不停的的學習
最重要的途徑就是直接看原始碼
開源專案看,不停地看
只有這一條路
-
9 # 科技電小二
程式設計新手,也就是初學者,如何提高開發水平。
我個人覺得,首先要目前自身的情況,根據自身特點針對性的安排。
第一,程式語言基礎情況,對於程式設計語法和用法是否已經掌握,程式語言是開發基礎,基礎不好,開發過程阻礙較大。
第二,開發經驗,任何學習都要用到實處才能消化吸收,或者說真正成長。而在實際專案中遇到的技術難點,都會促進自我學習和進步,想辦法攻克難關。所以多實際完成專案,多編寫程式碼,熟悉了,也就進步了。
第三,多總結吸收,平常要有比較好的學習習慣。將技術難點記錄下來,分析記錄整個過程,解決方案,分析等等,以便過後查閱。
第四,條件允許,找一個有很多開發經驗的老師傅帶自己。這樣成長也會非常快速,老師傅隨便一點經驗之談,都會讓你避免很多彎路。
-
10 # 此生唯一
這兩天剛好帶了一個新人(一年工作經驗),有點無力吐槽,也來談談新手怎麼更快的提高程式設計能力!
新進入一家公司,這些是必要的:
1,環境變數,IDE搭建要666:JAVA環境變數,IDE(包括該用的外掛),SVN,MAVEN,Git等一系列開發過程中必用的工具,應該666的搭建出來。
2,遇到問題很正常,解決耗時趕緊問:我們的本地環境搭建需要使用到一個sar包,用於服務註冊與發現,還有相關的配置檔案,可以說不是百度一下就有的,最好趕緊問,公司招你來,是速度開發的,不要矇頭自己幹,老員工也不會故意藏著掖著不幫你的,主動問問題。
3,不會的技術趕緊學:以前他是用的spring mvc,公司用的是springcloud,其實兩套框架差不多,自己找一個不錯的論壇,很快就能掌握基本的包括引數配置,啟動等的東西,要懂得大而化小。。
這樣做,起碼能讓別人看到你在努力,你能做好,吐槽完了,下面說下自己是怎麼提升自己的?
①,理解業務:沒錯,程式設計最重要的肯定是業務,無論你懂多麼牛的技術,如果沒對業務有充分的認識,你的資料建模可能就是錯的,你的開發方向可能就是錯的,所以業務驅動技術發展是有道理的!
②,條條大路通羅馬:解決問題的方法會有很多種,只有充分的對比各種方法的優劣,才能選擇最合適的解決方案,比如遍歷hashMap的方式有很多種,keyset,entryset,iterator等,選擇最好的方式!
④,把大牛變成你的基石:程式設計伊始,每個人都不能避免使用CV大法,關鍵是有些人CV之後掌握了其思想,技巧,變成了自己的技巧,而有些人下次繼續CV!
⑤,三分天註定,七分靠練習:看再多原始碼沒用,如果不能自己多多練習,親手開發出來,別人的還是別人的,不管是多執行緒,設計模式都可以自己寫一套Demo出來,加深自己的印象,掌握其根本!
⑥,多看新技術:主要圍繞分散式系統來學習,比如微服務方面的springcloud,dubbo,服務註冊與發現zookeeper,eureka,熔斷hysteix,閘道器zuul等一套微服務相關技術,服務之間通訊的元件kafka,mq,redis等,資料庫主從複製,讀寫分離,分庫分表的搭建,設計模式用於業務開發中,JAVA8中的流式處理,新語言特性等,工作流引擎,規則引擎等的開發!
程式設計人員新手期容易迷茫,解決辦法就是矇頭苦學,然後在下一次找工作的過程中,你會發現,很多東西你都會了。。不會再恐懼!
ps:之前幾位朋友讓做的mycat分庫分表Demo,由於專案趕工有所拖延,但會在近期分享,更多的技術分享,敬請關注。。
回覆列表
建議題主多看看網上的書籍和 影片,網上很多的。我把我自己整理的一些比較好的書列出來,當然好書可能不止這些,我只是舉個例子。
第一階段:初學
java核心技術
java語言程式設計
第二階段:熟悉
java程式設計思想
effective java中文版
深入理解java 7:核心技術與最佳實踐
java網路程式設計
(以及java web方面的書)
第三階段:加強或精通
java併發程式設計實戰
java虛擬機器規範(java se 7版)
深入理解java虛擬機器:jvm高階特性與最佳實踐
設計模式之禪(java版)
演算法導論 或者 演算法(第四版)
深入剖析tomcat
深入理解計算機系統
程式碼大全
程式設計珠璣
學習路線可以參考這個問題,
零基礎想學習Java,有沒有什麼建議?
一般慕課上的質量和B站的免費課程還是不錯的,不過沒有原始碼。
第二種方法可以找一些部落格和技術論壇
第三種方式可以加入一些交流群和技術號一起學習和探討
如果你對我分享的內容感興趣,可以去半圓學社官網看看。我覺得還是可以的。
https://www.banyuan.club/index