『壹』 什麼是程序員什麼是代碼
程序員所寫的代碼,是為某一特定程序或某一個應用程序所制定的編碼和內部測試的組織實施,使此應用或程序應能夠在程序員編寫的代碼中,實現各種功能。程序員(英文Programmer)是從事程序開發、程序維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類。代碼又臭又長
我見過最長的方法是5000多行,那段代碼沒人敢動,只敢往下加 if else,每次需要改這段代碼的開發都戰戰兢兢,生怕出現什麼莫名其妙的bug。java 可是一門面向對象的語言,一個方法裡面有5000多行可以說是很可惡的事情了。我想一開始代碼長度可能沒這么誇張,是什麼導致這種結果的?一個是當初寫這段代碼的人本身寫的是直來直去的方法,一堆if else ;後面迭代的開發,面對這么長的代碼瞬間失去了從頭讀到尾的耐心,直接繼續在後面加 if else 迭代,最後這個方法就變成了一個縫合怪一樣的玩意。
好的 sql 可以很大程度上簡化代碼的復雜程度,但是太過復雜sql 本身就會給後來的開發人員造成閱讀困難,結果又是變成一條無人敢動的祖傳代碼,我想這應該是不少公司極度抵制存儲過程的原因之一。當然不少銀行應用開發還是大量使用存儲過程,存儲過程有用武之地的,但是一個又臭又長的存儲過程就等著變成祖傳代碼吧。當年我見到一個60多個join的sql,看到第一眼就驚為天人從此難以忘懷,當然那段sql也成了沒人敢去動的代碼了。
代碼邏輯不明
代碼邏輯不明所以是我們開發很容易去犯的毛病,是一個不致命卻煩人的毛病。在代碼上的體現是,邏輯判斷寫的比較反人類各種雙重否定是肯定,不把你繞暈不罷休。或者是寫起代碼來東一榔頭西一棒槌,讓人不知道你想幹嘛。導致這個的原因有可能是開發人員在需求理解上出現偏差,做到後面發現不對勁,再回去改又不大可能了,只能硬著頭皮往下寫,結果就是代碼彎彎繞繞;還有很重要的鍋是在產品經理,任意變更需求,想一出是一出,開發人員無奈只能跟著想一出寫一出。還用可能是開發人員方法或者類命名太藝術了,什麼四川方言拼音這種沒有十年腦血栓想不出的命名咱就不說了。就說那種國產凌凌漆式的無厘頭命名——這看上去是個刮鬍刀實際上是個吹風機,就這種不知道讓人說什麼好。
規劃代碼的核心思想
吐槽了一堆代碼規范問題,接下來我們說說如何去規范我們的代碼以及如何做到就算開發人員更換了,或者項目轉手給他人了,仍然可以讓後面的開發可以無礙的去閱讀代碼修改代碼。當然各個公司/團隊都有自己的一套代碼規范,比如項目的結構、代碼命名風格、代碼格式等等。不同團隊有不同的風格,但核心思想是大同小異的。接下來我就我個人的開發經驗來分享一下一些代碼規范的思想。
『貳』 求JAVA程序員修改一段Minecraft插件的代碼
已刪除
『叄』 為什麼程序員不喜歡改別人的代碼
每個人都有自己的開發習慣,以及自己的寫代碼的方式。
例如寫代碼的時候,格式不一樣啦,換行的位置不一樣啊等等。別人的代碼不像是常見的dos,linux命令行之類的,在沒有備注的情況下,很有可能會完全看不懂.咋改?
『肆』 一個程序員平時只會復制黏貼和抄襲別人的代碼,然後根據自己的需要修改,這樣工作兩年或者三年。
天下文章一個抄,復制,粘貼並不是代表人家不會,而且省得去寫,重復的東西直接拿過來改就是了,其實這也是一種水平上的提升,當然有獨立的項目完成最好,至於工作,地區差異,無法比較。
『伍』 初級程序員如何抄代碼
無稽之談!
只要計算機基礎知識過關!上午要考的!
程序流程圖知道 C語言夠好 和C++(我學的的是C++)或Java會基礎就行 下午考的!
做到了!
這樣你的初級程序員穩過!!!
『陸』 我是一個新入職菜鳥程序員,公司讓我負責軟體維護和錯誤修改,老手們寫的代碼各種看不懂,求大神指點。
啥都沒怎麼指點?先發上來,看看對不對口,不對口也幫不了你。
『柒』 程序員如何方便的管理自己以前寫的代碼
一、代碼的最大長度。
雖然在Java的編譯器中對於代碼的最大長度沒有硬性的規定。但是如果代碼的長度太長,超過了編譯器的最當行寬,顯然閱讀起來比較麻煩。為此根據筆者的經驗,通常情況下Java源代碼的行長度不應該大於80個字元。如果超過這個長度的話,在一些開發工具和編輯器上就無法很好的顯示。如需要通過滾動條來顯示後面部分的代碼。當其他項目成員閱讀這超長的代碼時,就會看得眼花繚亂。當人的溫飽問題解決了之後,就需要開始注意美觀方面的問題。所以程序開發人員在開發應用程序的時候,要盡量避免書寫長的代碼。如果代碼的每行長度確實需要超過80個字元的話(最好將每行代碼的長度控制在70個字元左右),那麼就需要對代碼進行分行。
二、在恰當的地方對代碼進行分行。
筆者建議將Java源代碼每行的長度控制在70個字元、最大不超過80個字元。當超過這個字元長度的時候,開發人員就需要考慮在恰當的地方對他們進行分行處理。不過這個分行也不是說開發人員想在哪裡進行分行就在哪裡進行分行。這個分行是有一定技巧的。雖然這些技巧大部分並不是強制性的規定,但是都是一些專家們的經驗總結,可以提高代碼的閱讀性。為此筆者希望各位程序開發能夠嚴格的遵守。
技巧一:高層折行優於低層折行。
這個技巧是說,在考慮對代碼進行折行處理的時候,需要注意代碼的層次性。如某段代碼涉及到混合四則運算,而四則運算又有明顯的運算順序,此時對代碼進行折行時就最好能夠在四則運算的關鍵順序上進行折行處理。如現在有如下的一段代碼:
Mynum=mynum1*(mynum1+mynue2+mynum3-mynum4)+8*mynum5
如果要對這段代碼進行折行的話,該在哪個地方加入一個折行符號呢?如果是筆者處理的話,筆者會按如下的格式對代碼進行折行處理。
Mynum=mynum1*(mynum1+mynue2+mynum3-mynum4)+8*mynum5
這主要是根據四則運算的運算層次來進行折行的。顯然,*符號的優先順序要比+符號要高。所以在+號前面對其進行折行處理,那麼就可以一目瞭然的反應出代碼的運算層次。可以大幅度的提高代碼的閱讀性。所以代碼折行的第一個技巧就是高層折行優於低層折行。如此的話,可以使得應用程序的結構代碼更加的清晰,更容易被團隊成員所理解。
技巧二:在運算符前面進行折行處理。
其實在如上的折行技巧中,還隱藏著一個規則,即在運算符之前進行折行。如上例所示,筆者就是在+號前面進行折行,而不是在+號後面進行折行處理。這主要也是考慮到代碼的可讀性。如上面這個例子中,如果在+號後面進行折行處理的話,則下一行就會給人一種憑空多出來的感覺,顯得代碼很不連貫。跟這個規則類似,如果在折行處理的時候遇到逗號時,那麼最好能夠在逗號後面進行折行。如在一個方法中,需要傳入5個參數。此時如果代碼行比較長,那麼就需要在幾個參數之間進行折行處理。此時最理想的折行位置,就是在某個參數的逗號後面。注意,使在逗號後面進行折行,而不是在逗號前面。因為一個參數一個逗號是匹對的。而如果一個逗號加一個參數,則讓人看起來很不舒服。
技巧三:這行代碼的對起方式。
當不得已對代碼進行折行處理時,下一行的代碼應該與其同等級的代碼行左對齊。如上例所示,在+號前面將某一段四則運算公式進行折行處理的時候,其+號符號已經採取縮進處理。其縮進後的效果就是要與其同等級的代碼行左對齊。如此的話,明眼人一看就知道這段代碼採取過折行處理;而且跟上一行代碼的層次關系。當一段代碼被分割成三行甚至跟更多行數的時候,這個規則會非常的有用。如果能夠嚴格遵守這個規則,即使將代碼分割成多行,看起來也不會覺得那麼混亂。反而給人一種比較有層次的感覺。
另外在採取縮進處理的時候,可以利用Tab鍵來提高縮進處理的效率。因為直接按空格的話,有可能空格字元數量不一致,會讓人覺得層次不起,產生比較大的混亂。一般情況下,當代碼行兩側距離頁邊的距離比較大,看其來不怎麼舒服時,可以在代碼行中通過插入TAB鍵(會在代碼行中連續插入8個字元)來提高代碼的閱讀性,讓代碼的縮進實現統一。
技巧四:為變數尋找一個合適的位置。
在編寫應用程序時,盡量將變數聲明放置在一個代碼塊的開始處,也就是說{}花括弧的開始位置。雖然說可以在需要使用變數的時候再對其進行聲明。但是筆者不同義如此操作。因為如果在的呢感到使用變數的時候再來聲明變數時,會降低代碼的可讀性。同理,也需要避免低層聲明與高層聲明重復,這樣會引起代碼混亂並可能引發程序功能性錯誤。而且這種錯誤在後續的排錯中很難被發現。為此要在應用程序開發的時候就要盡量避免這種錯誤。
在聲明變數的時候,有時候可能代碼很簡單,生命變數的行總共加起來也不會超過十個字元。此時能否把多個變數的聲明寫在同一行呢?從就技術上來說,這是可行的。也就是說,Java編譯器允許將多個變數定義在同一行上。但是從閱讀性上來說,這並不是很好的做法。筆者的建議是,即使變數定義再簡單,或者變數比較多,也最好分行進行變數的聲明。也就是說,一行聲明一個變數。這可以提高代碼的可閱讀性。而且有時候往往需要對變數加一個注釋說明變數的用途,如果以行定義一個變數,添加行注釋也相對簡單許多。
總之,以上的這些折行的規則基本上不會影響到代碼的運行。但是,對於代碼的維護與後續的排錯、升級、二次開發等等具有不可忽視的作用。而且現在基本上應用程序開發式團隊開發,故大家都遵守同樣的代碼編寫規范是非常重要的。筆者在開發一個應用程序的時候,事先都會花一定的時間,跟項目成員強調這些折行的規則。目的只有一個,就是提高代碼的可讀性,便於後續代碼的共享與維護。畢竟後續面對這些代碼的,並不是客戶,而是我們自己。我們程序員在編寫代碼的時候,不能夠搬起石頭砸自己的腳。筆者認為,現在一個合格的程序人員,不僅技術功底上要過得硬,而且還必須要遵守這些無形規則的約束。難怪現在這么多企業在挑選程序開發人員的時候,都會註明良好的編碼規范。現在對於這些無形中的條條框框,項目經理已經開始重視起來。
『捌』 現在程序員都是自己寫代碼嗎還是直接復制網上的 那還有技術核心可言嗎
代碼的可變通性很高的,寫一個刪除垃圾的代碼是自我發明,我把刪除垃圾的代碼改成刪除系統文件的代碼(改變擴展名);也是自我發明.這個不好講,不管他復制不復制,互聯網的根基就是資源共享,只要能達到造福彼此的目的,就夠了吧我覺得.
『玖』 我是一名程序員剛入職一周,已經開發一年多的游戲讓我改需求,代碼還沒熟悉,什麼也找不到,怎麼改我改
謝謝邀請。
從你的描述中,可能心中有很大不愉快,這會影響你的判斷和工作效率。趁中午午休時間簡單聊一下:
1、你的崗位和你現在說的工作問題不矛盾,是你職責所在,份內的工作而已,這沒抱怨的必要。我們公司技術部門也會出現這樣的問題,一個BUG,要連續加班幾晚上,不停修改。這是你這個崗位的工作性質決定的。
2、你現在面臨的是無法完成工作,中途接手,不熟悉,心裡煩躁,這個可以理解。但入職一周了,還沒了解自己公司開發的一個游戲邏輯,這有點說不過去,再怎麼忙,熟悉了解的這個過程所需的時間總有的吧。
3、找不到問題,就虛心請教,向前面的同事向其他高手求教,三人行必有我師,這個應該不難吧?
4、攤牌,,,,,這個太過激了。
或許是你的一時氣話吧,但很不恰當!說嚴重點就是不負責任!在我的理解中,工作中發生問題一點都不可怕,完全可以坦然面對。難以接受的是問題發生了,沒有窮盡人力沒有千方百計的去設法解決它,而是投降,撂挑子或不幹了,,,,這真的是職場大忌!
不要灰心也不要意氣用事,誰還沒遇到過麻煩事嗎?
端正態度 然後 去執行!
就這么簡單!
與你共勉。
希望對你有所幫助。 來自職Q用戶:邢先生
新官上任三把火,新員工入職三個困難,這是第一個吧?降臨一個艱巨的任務在你的頭上,公司的陳舊問題希望得到解決,這是老闆的期望!先別急著投降,也先別攤牌,認真思考一下問題在哪裡,評估同事和你個人有沒有這樣的能力能力,帶上一兩套方案,跟老闆商量這件事怎麼解決~《白日夢想家》主角米提華特的經歷說明,只要你盡全力,甚至突破自己,希望和機會總是會在最後出現的~ 來自職Q用戶:匿名用戶
『拾』 問大家一下有多少程序員是寫代碼,多少是復制代碼,多少是改代碼(請IT人士回答)
自己寫代碼的確很復雜,但是自己寫代碼的話,可以理清一些軟體開發過程中的順序。比如我以前寫代碼的時候需要構建三層。也就是數據層,邏輯層,表示層。好多年不寫代碼了,基本忘記光了。
我的建議是你有時間可以自己從頭到尾的完成一個項目。這樣對你會有所幫助的。這樣修改的話,是不行的。
你可以買一些關於項目的書籍看看,對著上面的做,把軟體開發的流程熟悉一遍。