寫代碼是依靠來腦力生源產結果,而編程效率、編程水平、工作時長、代碼質量、運行效率、生產力......這些復雜的因素決定了最後項目的質量。有的大牛隻用50%的代碼量就解決了初級程序員需要100%的代碼才能解決的問題。所以,用「產出的代碼行數」、「每日上班敲代碼的時間」...這種指標來衡量生產力,是不科學的。
❷ 如何辨別一個程序員水平的高低
其實,評論一個程序員技術的高低,不是看他會多少技術,又懂多少技術。參加過什麼大型的項目,也不是看他有沒有自己的博客,github有多少star。
而是看他解決問題,定位問題的能力。這個很重要,真的很重要。
技術可以很快上手使用,但是解決問題定位問題的能力不是輕易就行的。特別是在高壓下解決問題的能力。
下面是師姐為大家整理的一些建議:
解決問題
1.代碼的命名要規范。
代碼是寫給人看的好嘛!代碼是寫給人看的好嘛!代碼是寫給人看的好嘛!
headImg是什麼鬼?我能以為是banner么,頭部的圖片,請原諒我蹩腳的中式英語!avatar這個呢、portrait這個呢?會不會更好些?英語不好就不能用好有道、google翻譯么?還有用中文拼音命名的,親,我們用的是英文做為腳本好么?你要用這樣的,用易語言可好?!
瘋了!
為什麼要用框架?一個很重要的原因是命名規范,目錄規范,結構規范,分層規范,有利於團隊協作,不要本末倒置!
2.架構和規劃能力很重要,模塊分層,解耦設計什麼的,文件目錄嵌幾層?
這其中又跟命名的能力能搭上點關系。命名都命不好,目錄結構怎麼建?
url不要做的漂亮些嗎?不考慮seo了?
你喜歡addGoods還是喜歡goodsAdd?
請你尊重點我的那些初高中英語語法好么?
3.協助能力、可持續能力。
最好的程序代碼是脫離其產生者的。
為自己程序處處救火的程序汪並不是一條好汪。
我記得一句話就是:別想著你的代碼以後還有機會重構!
每次說,額,這里我後面會改的,會改的,但是可惜,現實情況是根本不會給你這個時間的。
代碼寫出來,一是要爽了自己,二是也要爽了別人。
4.debug的能力、總結能力、學習能力真的很重要,代碼寫出來真的花的時間不長,但擦屁股的時間比寫代碼的時間多多了!
出了問題不記錄,寫個博文都好啊,我可沒那麼強大的記憶力,所以最討厭考記憶力。
5.不要一貫的使用各種演算法,秀演算法的你們夠了,要寫去寫底層,應用的場景比較多。
應用層面的程序,演算法的應用不是特別多,大部分都是業務代碼。以這個作為評價標準的,真心然並卵。
❸ 怎麼才能知道自己的編程水平
不管是做哪行的,相對來說對自己的能力,都希望得到一個認證,編程的也是這樣的,自己一個人可能看不出什麼,但是卻想知道自己到底是屬於一個怎麼樣的水平,那當然是通過比較了,下面對於這一個話題?簡單聊一聊我的一些看法。
和同行溝通
比如說身邊有同事或者有接觸到同行的話可以就編程這個話題聊一聊,像一些自己覺得比較難,比較容易出錯的地方可以向同伴講一講,看看對方是如何認為的,不過這個東西也不一定有可能她擅長這一塊你擅長另外一塊,反正多多交流溝通,總比閉門造車要好,對自己總是有提高的。
做程序,最重要的就是保持心態,不能急躁,邏輯完整,我們說沒有比較就沒有傷害,如果自己覺得不錯,結果一比較,發現自己水平其實很低,總是會有影響心情的。
❹ 從C語言編程方面來講,怎麼樣才算是好程序員
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVA One很可能會成為未來的主流開發工具之一。其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,C Builder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
熟知資料庫
為什麼資料庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL, Postgres等。
對操作系統有一定的了解
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。只有對操作系統有一定的了解後,你會發現自己上了一個新的台階。
懂得網路協議TCP/IP
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEB Services,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,所以,深入掌握TCP/IP協議是非常必要的。至少,你需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
明白DCOM/CORBA/XML/WEB Services存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。程序員需要做的不僅僅是利用商業的開發平台來開發軟體,而是要理解這些技術的初衷,即為什麼需要這項技術,如果你能理解了這一點,再回頭看這些技術的具體實現,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布計算的基石之一。
不要將軟體工程與CMM分開
現代大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。一句話可以概括我的看法:「創意無限,流程保證」。
擁有強烈的好奇心
什麼才是一個程序員的終極武器呢,那就是強烈的好奇心和學習精神。沒有比強烈的好奇心和學習精神更好的武器了,它是程序員們永攀高峰的源泉和動力所在。
如果您正為如何成為一名合格的程序員而發愁的話,希望以上文字能為您排除一些顧慮和問題。如果您想獲得更多有關程序員的信息,那麼請隨時關注天天招生網,我們將在最短的時間內提供最真實,最准確的相關信息
❺ 怎樣知道一個人有沒有編程能力
我是計算機系畢業生,對於這個問題 我思考了好長時間.
作軟體的話,要有很強的獨立思考問題的能力,要能熬夜,要能耐的住性子做一件很枯燥的事情,要知道不斷的學習新的東西.這些是與編程之外的東西.
再說編程本身,很多人入門比較慢,這個是很正常的.學習軟體,有幾個語言要掌握的:C語言,JAVA等,C語言入門相對困難一點,特別是指針方面的東西.學好了C之後,JAVA自然就不難理解了,因為很多語法是相同的.很多語言在了解C語言的基礎上就很容易入門了.
如果你是搞硬體編程的話,匯編等語言是要學習的,因為我不大了解,所以不說了,我感覺搞硬體很枯燥.
最終的一點在於興趣,因為興趣有了,動力就有了,沒有興趣,就沒有必要做這一行.我就是最好的例子,學了四年,發現自己對這些東西沒有興趣.改行了.
有時間可以去CSDN上看一看,裡面有好多你要的東西.BAIDU搜一下吧,網址忘記了.
❻ 一個合格的程序員應該寫多少行代碼
在編程裡面,說多少行代碼是指寫程序的量,一般認為程序員的年代碼量為兩萬,即每年敲兩萬行代碼。
代碼量也是衡量一個人的編程熟練程度的標准,編寫的代碼量越多,表名這個人遇到的問題也越多,那麼在實際中能解決問題的能力也越強。反之亦然。
除了代碼量,還要根據一個人的學歷來評定一個人的學習能力大小,以及對基礎技術的考核來評定一個人對技術的掌握程度。
❼ 在簡歷上應該怎麼反映自己的編程水平
編程就是一個不斷發現問題,解決問題的過程。這個過程開始時會頻繁出現,說明你的水平也是剛起步,還需要繼續學習和實戰中強化自己。到了一定時候,出現問題的情況會偶爾發生,這說明你已經登堂入室,正式成為一合格的程序員。隨著你加入某個團隊不斷實踐,一個項目接著一個項目。這個時間可能會很久,若干年後,你會發現你遇到的問題會越來越少,這時基本算是大師級了。