請問大佬們能2000行代碼0 error 0 warn 0 bug一遍過嗎?如果能過,是什么水平?:在現(xiàn)實(shí)中寫2000行代碼沒有錯(cuò)誤沒有告警信息一遍能過的情況下還是非常少見,這需
在現(xiàn)實(shí)中寫2000行代碼沒有錯(cuò)誤沒有告警信息一遍能過的情況下還是非常少見,這需要具備非常強(qiáng)的基本功以及非常平穩(wěn)的心態(tài),如果在時(shí)間充足或者精神壓力沒有那么大情況一般的高級軟件工程師都應(yīng)該具備這種能力,但是在國內(nèi)軟件企業(yè)里面很多對于產(chǎn)品開發(fā)速度要求都很高,有時(shí)間為了趕工期可能連基本的設(shè)計(jì)思路都沒有時(shí)間去考慮周全,導(dǎo)致很多時(shí)候代碼需要在后續(xù)拿出大量的時(shí)間來修改,特別是國內(nèi)的互聯(lián)網(wǎng)企業(yè)對于需求的工期更是急切,在這種大背景下談不上代碼能夠一遍能過了,能夠在短時(shí)間完成功能就已經(jīng)不錯(cuò)了。
程序員寫代碼不能以忙作為借口,畢竟程序員的代碼就是自己的門面,優(yōu)秀的程序員從來就是非常珍惜自己的代碼,真正大神級的程序員編程的基本功非常扎實(shí),而且代碼寫的代碼都是在自己的設(shè)計(jì)之中真正開始代碼的時(shí)候?qū)嶋H上就是思路落地的時(shí)候,由于從事軟件編程多年,也真遇到幾個(gè)編程基本功極強(qiáng)的程序員,平時(shí)很少看到他在寫代碼,真正開始寫代碼的時(shí)候速度非?焖伲覍懲甏a直接編譯基本上都是一遍過,很少再去檢查代碼的語法細(xì)節(jié),看這種人編程就會(huì)有一種特別享受的感覺,但是在平時(shí)對于基礎(chǔ)的學(xué)習(xí)和演練都是同步在進(jìn)行,經(jīng)常看到在放假的時(shí)候打印一堆厚厚的標(biāo)準(zhǔn)去研究學(xué)習(xí)。
程序員的代碼就是自己的臉面,越是谷歌微軟這種企業(yè)在代碼的管控越是顯得隨意,很多代碼的審核只需要周圍的同事給審核下直接就能提交了,但這種是建立在大家的水準(zhǔn)都是在一個(gè)非常高的情況下,而且在平時(shí)經(jīng)?吹侥K代碼的重構(gòu),重構(gòu)的目的就是讓代碼執(zhí)行起來更加高效,而且在心理上能夠滿足已經(jīng)努力到自己滿意為止了,這是優(yōu)秀程序員和普通程序員最大的不同之處,對自己寫過的代碼負(fù)責(zé),特別是對于已經(jīng)實(shí)現(xiàn)功能的代碼更是想辦法做到最大程度的優(yōu)化,做的時(shí)間長了自然在基本功底上表現(xiàn)的更加厲害了。
實(shí)際工作的過程中寫代碼的時(shí)間相對有限,主要是在代碼的調(diào)試上以及構(gòu)思上花費(fèi)的時(shí)間會(huì)更多一些,對于設(shè)計(jì)思路的探索以及設(shè)計(jì)之后改進(jìn)工作消耗的時(shí)間會(huì)顯得更多,代碼更多是在思路上的體現(xiàn),最后只是工具能夠落實(shí)到實(shí)際解決問題中,對于工具使用的順手就會(huì)弄出高質(zhì)量的代碼。
程序員能力的體現(xiàn)不能僅僅看代碼,而是代碼支撐起來的背后產(chǎn)品,產(chǎn)品的性能以及穩(wěn)定性才是最終衡量程序員水準(zhǔn)的關(guān)鍵,但從表面上代碼的規(guī)整程度以及在編譯的時(shí)候出錯(cuò)的概率都可以在直觀上體現(xiàn)出,但最終考核的標(biāo)準(zhǔn)還是在產(chǎn)品的質(zhì)量上,而且好的代碼框架對異常場景的兼容也會(huì)更強(qiáng)一些,越是規(guī)范化的代碼在穩(wěn)定上以及性能上更加占據(jù)優(yōu)勢,希望能幫到你。
一個(gè)開發(fā)人員如果能獨(dú)立開發(fā)一個(gè)功能模塊,且沒有bug,可以說是一名合格的程序員。如果能持續(xù)高質(zhì)量,低bug的輸出,那他就是一名優(yōu)秀的程序員。
我身邊就有這樣的一個(gè)同事,他開發(fā)的功能提測從來沒有bug,上線后也能夠保持長期穩(wěn)定運(yùn)行。他和我炫耀他做過的一個(gè)項(xiàng)目,這個(gè)項(xiàng)目是交付給一個(gè)國外公司使用,交付之后的一年里沒有發(fā)生過一次報(bào)警,沒有一次宕機(jī)甚至是重啟,真正的做到了7*24小時(shí)高可用!
還有一個(gè)例子,有兩個(gè)朋友給人家長期兼職一個(gè)項(xiàng)目,這個(gè)項(xiàng)目每日注冊10w+,DAU也是幾十萬,總共就三臺(tái)服務(wù)器扛起這些并發(fā)量。他倆的工作模式開發(fā)、自測,然后就是相互review代碼,完事就上線!這個(gè)過程是沒有測試人員來保證質(zhì)量的!
個(gè)人認(rèn)為要想達(dá)到如上的能力,需要持續(xù)追求下面幾件事:
這里單獨(dú)強(qiáng)調(diào)一下規(guī)范的重要性,有的同學(xué)在開發(fā)的時(shí)候總覺得嚴(yán)格的流程規(guī)范會(huì)降低團(tuán)隊(duì)的開發(fā)效率,比如提測前的代碼review,上線前的sql審批,各級領(lǐng)導(dǎo)的審批等等。
實(shí)際上這些流程就是為了保證上線的一個(gè)安全性。你總以為你寫的代碼沒問題,不需要他人來評判你的代碼,也許一次兩次都OK,但這證明不了什么。你拿什么來保證你每一次上線都沒問題?線上出問題了不是你一個(gè)人擔(dān)責(zé)的,當(dāng)團(tuán)隊(duì)規(guī)模更大的時(shí)候,如果沒有規(guī)范那將是一件很可怕的事情~
沒問題,只要思路正確,編碼嚴(yán)謹(jǐn),習(xí)慣良好,經(jīng)驗(yàn)豐富,可以做到的,我就經(jīng)常這樣,有一次,編寫一個(gè)將近2000行的批作業(yè),想了1天,寫了2天左右,準(zhǔn)備拿出1天調(diào)試,結(jié)果,基本沒什么問題,編譯運(yùn)行測試一次過,我都有點(diǎn)驚訝。不過,現(xiàn)在已經(jīng)很少有機(jī)會(huì)動(dòng)手了。順便說一下,我大概有將近30年的編程經(jīng)驗(yàn)。
第一,用行數(shù)來規(guī)定軟件規(guī)模是非常扯的事。比如我可以寫一千行打印語句,打印一千個(gè)字符。其實(shí)也可以用一行完成。
第二,大佬們牛的不是一次性寫好,牛的是把你運(yùn)行時(shí)間一千年的代碼改成用一秒運(yùn)行的代碼,把你需要1t內(nèi)存的代碼改成可以在1m的空間中運(yùn)行,把你一千年都找不出的bug用一秒鐘找出來,把你想破腦袋也想不出的算法順手實(shí)現(xiàn)。
最后勸告那些想寫代碼又覺得難的人,路都是一步一步走出來的,沒有哪個(gè)大佬天生會(huì)寫代碼。我們要做的是知道自己需要什么,然后一天一天的積累。
編譯通過和有沒有bug是兩碼事哈!
華裔女賭王就此沒落,生前讓所有 濃情端午粽飄香,青浦邀你“云體 上海:“云端”展現(xiàn)端午節(jié)文化內(nèi) “甜咸大戰(zhàn)”!明星藝人們喜歡什 如何做一個(gè)男人喜歡的情人(如何 當(dāng)你和你同時(shí)出現(xiàn)在同一個(gè)場景中 如何在昏暗的光線下設(shè)置快門速度 教育在生活中的價(jià)值是什么? 世上做壞事的人死后會(huì)面臨什么因 拜登就任總統(tǒng)后的第一步是什么? 同意/不同意:人生最重要的目標(biāo) 二戰(zhàn)后,德國在調(diào)和分歧方面做得 亞伯·林肯恨白人嗎? 一個(gè)編輯能把你的故事毀得有多嚴(yán) 現(xiàn)在的iPhone6還能堅(jiān)持再用一年 曹操為什么不殺司馬懿? 現(xiàn)在買房是不是最便宜的時(shí)候,現(xiàn) 我身邊的農(nóng)業(yè)銀行營業(yè)廳關(guān)了,AT 歐洲媒體評選CBA最有實(shí)力球員, 榮耀play的6+128和榮耀8X的6+128 螞蟻集團(tuán)是科技公司還是金融公司 請問機(jī)友華為mate30P與華為mate3 聽說老詹修剪一次指甲需要5小時(shí) 為什么說寶寶“一月睡二月哭三月 戴笠人稱戴老板,這個(gè)是怎么叫出 沒有工作能一次性補(bǔ)繳社保么? 我想知道定向師范生和免費(fèi)師范生 肺癌引起的咳嗽是怎樣的呢? 5000mAh電池的5G手機(jī)推薦嗎?要 恒大亞冠表現(xiàn)“差強(qiáng)人意”,你覺