導航:首頁 > 程序命令 > 程序員代碼惡搞500次

程序員代碼惡搞500次

發布時間:2025-05-21 05:36:15

❶ 敲了 10000 小時代碼,我也沒能成為一名高級程序員

【CSDN 編者按】 Malcolm Gladwell在《離群索居》( Outliers)一書中曾言 ,要真正掌握某件事情,需要10000小時的練習。 而本文作者Greg Bulmash擁有40多年的編程經驗 ,寫了10000個小時的代碼,卻沒能成為一名高級程序員。 為何一萬小時定律會失敗呢?他分享了自己的一些看法 或許他的經驗能夠對你有所幫助,一起來看看吧。

原文鏈接:

本文由CSDN翻譯,轉載需註明來源出處。

譯者 | 章雨銘 責編 | 屠敏

出品 | CSDN(ID:CSDNnews)

Malcolm Gladwell在《離群索居》( Outliers )一書中說,要真正掌握某件事情,需要10000小時的練習。其實,10000隻是一個粗略的數字,而且這句話的含義也被過度簡化了。我已經斷斷續續進行了40多年的編程。可能已經寫了10000個小時的代碼,但我甚至還未能成為一個優秀的程序員,更別提成為大師級的程序員了。

我認為有以下幾個原因。首先,在這10000小時中,我主要學習了4種不同的編程語言,以及其他一些輔助語言。我從一種語言換到另一種語言時,發現它們有的概念可以互通,有的完全不同。而有趣的是,在這種語言中沒有意義的概念可能用來構建它。

例如,javaScript沒有本地鏈接列表實現,但如果在V8 GitHub庫的src目錄下搜索 "鏈表",會發現有76個commit提到了它。即使它們在語言本身中沒有用C的鏈接列表,但會在引擎下使用C的鏈接列表。

每種語言都有自己的語法和特殊的實現方式,這些是必須要學習的,而不僅僅只是學習其概念。一種語言的最佳實踐方式對於另一種語言來說可能不是最好的。在編譯語言上我從來沒有花過很多時間,幾乎總是使用解釋型語言,如BASIC、php、JavaScript、python。我學習過C#和Java,用Rust做過Hello World,但在Linux中從源碼編譯對我來說十分困難,所以我通常只是下載源碼,按照教程中的指示操作,然後祈禱代碼能夠運行。

除了學習這些語言,我還學習了伺服器技術和系統架構的基本概念,不是從編程的角度,而是從網路管理員或者說系統管理員的角度。而且無論是建立一個大型網站,在Flash中創建矢量圖並將其渲染成點陣圖,還是學習通過AWS解決方案架構師助理認證,我都已經做了很多次。但是很多東西我已經忘記了。我已經學會了這些語言的框架和庫,如JavaScript的React和JQuery以及PHP的Laravel......然後也忘記了許多,因為我為完成一個項目學習了它們,然後就沒有再使用它們。

即使寫了10000小時的代碼,也不意味著你能夠輕易地在不同語言之間轉換。當你真的進行轉換的時候,你會發現10000小時沒有那樣神奇的魔力,因為另一個不可避免的原因:記憶衰退。正如我所說的,如果我停止使用一種語言,甚至只是停止使用它的一個功能一段時間,我就會像忘記 "高中西班牙語 "一樣忘記它。我在高中時讀完了西班牙語3級,在大學時考過了西班牙語4級,並獲得了A。而現在,我可能只記得不到10%的內容。

例如,我幾乎完全忘記了怎樣使用常規動詞連接過去式,更不用說不規則動詞了。但是因為我以前練習的足夠多,我知道自己的不足之處,所以我可能比剛開始學習的人更快地恢復以前的知識。但可能需要幾個月的強化練習才能全部恢復。

十年前,我精通PHP,在一個定製的MVC框架中工作(由其他人創建),使用Doxygen來映射類的繼承層次,並使用JQuery來構建前端的交互性。但我在7年前沒用過PHP了,轉而使用Node。現在,我需要花5分鍾並且改正了一些語法錯誤,才在剛才提到的PHP副本中正確地寫出一個Hello World。

去年12月時,我為freeCodeCamp的前端庫認證建立了五個React項目,但在那之後,我就沒有再編碼React項目了。過去了兩個月,當我開始准備面試的時候,我覺得我就像是React新手。如果我看到自己寫的代碼,能夠很快理解。但是因為很多東西都只是我准備的輔助工具,很多我都忘光了,所以我需要回到文檔中去開始一個新的React項目再開始工作。和新手相比,我只是走得更快。

這就是新手和已經入門了的區別。一萬個小時可以讓你成為一個小提琴大師。但是如果你每隔500小時就換一次樂器,並想要成為整個交響樂團的主角,那你不一定能夠更勝一籌。所以為了強化和拓展你的技能,練習不僅要廣泛,而且要持續。

10000小時是什麼樣的概念?是5年每周工作40小時,兩年休息1周(假期、病假和休假都在這2周內)。你會發現有的工作招聘時要求在一個3年的框架內有5年的經驗。5年似乎是成為專家所需的標准時間。因為對框架的無知和這種簡化的標准,就會產生邏輯上的矛盾,一言以蔽之。

一個專業的開發人員,有多少的工作時間是花在電子郵件和會議上的?又有多少時間在真正編碼和思考編碼問題?當我在微軟寫文檔的時候,我的經理說,不管怎麼算,你一天中大概只有一半的時間花在實際的生產工作上。其餘的時間會花在一些瑣事上,比如回復電子郵件、開會、進度/狀態報告、在IM上回答隨機問題或者和別人閑聊......

所以我只有20%的時間是在寫代碼,因為其他80%的時間是在寫文檔和教程,這意味著我平均每天只寫了一個小時的代碼。在使用瀏覽器中的開發工具進行調試方面,我曾經是個天才,因為我在這方面經驗豐富,還經常為新版本進行更新。但是,雖然當時所有的開發控制台的快捷鍵,我都爛熟於心,但在我離開微軟的7年後,我基本上已經把它們忘得一干二凈了。

事實上,自從我進入開發人員關系部後,我每天花了10-20%的時間寫代碼,其餘的時間寫教程,為會議講座和網路研討會製作文件,制定建立和培養開發人員社區的戰略,制定展示新功能的最佳方法,以及處理各種人——產品經理、內部工程師、外部開發人員、產品營銷經理、需求生成和社交媒體經理、律師、公關和公司政策執行者的問題。

最後要記住的是,你不會花整整一萬個小時學習新東西。如果你在學習小提琴,你可能會花上幾百個小時來學習一些初級的作品。在你學習新東西之前,你已經掌握了一些初級的東西,並且在反復練習直至完美的過程中,

學到很多,並且將你學到的這些用於學習新事物。所以這一萬個小時中的大部分時間都是強化的。

在編程中,這就像多次編寫相同的To Do單頁應用程序。前幾次你可以參考教程,但最終你必須能夠在沒有任何參考的情況下寫出它。這就像一邊看著樂譜一邊慢慢演奏《歡樂頌》,然後記住如何演奏,然後准備在演奏會上演奏。

但是,當你需要在截止日期前交付一個項目時,你有多長時間來進行強化練習?在許多公司,不會給你提供擴展技能和強化編碼的時間,需要你利用額外的時間來完成。一些公司會給你10%的時間或20%的時間來做獨立的項目,但很少有公司希望你把這些時間花在單純的練習上。

新的框架、新的最佳實踐方法、新的語言、新的模式產生的速度不斷加快,在這種情況下,僅僅是在新的方面取得合格的成績,都會像和職業選手一樣演奏《歡樂頌》的困難。

你需要平衡強化和 探索 的時間,特別是當你每天編碼的時間少於50%的時候。你必須不斷地通過練習來進行強化,建立心理肌肉記憶,直到你能在睡夢中解決它們。小提琴幾百年來都沒有實質性的變化,但編程卻在不斷變化。成為一個特定語言的大師級程序員意味著要堅持更長的時間。你不得不在非工作時間進行強化練習,完成任務,努力成為一個優秀的程序員,或者跳槽到另一個能夠給你充足時間練習的公司。

哪怕你5年或者10年後都沒有成為大師級的程序員,也沒有關系,因為好好地做一萬個小時比看起來更難完成。

❷ 求一個簡單又有趣的JAVA小游戲代碼

具體如下:

連連看的小源碼

package Lianliankan;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class lianliankan implements ActionListener

{

JFrame mainFrame; //主面板

Container thisContainer;

JPanel centerPanel,southPanel,northPanel; //子面板

JButton diamondsButton[][] = new JButton[6][5];//游戲按鈕數組

JButton exitButton,resetButton,newlyButton; //退出,重列,重新開始按鈕

JLabel fractionLable=new JLabel("0"); //分數標簽

JButton firstButton,secondButton; //

分別記錄兩次被選中的按鈕

int grid[][] = new int[8][7];//儲存游戲按鈕位置

static boolean pressInformation=false; //判斷是否有按鈕被選中

int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戲按鈕的位置坐標

int i,j,k,n;//消除方法控制

代碼(code)是程序員用開發工具所支持的語言寫出來的源文件,是一組由字元、符號或信號碼元以離散形式表示信息的明確的規則體系。

對於字元和Unicode數據的位模式的定義,此模式代表特定字母、數字或符號(例如 0x20 代表一個空格,而 0x74 代表字元「t」)。一些數據類型每個字元使用一個位元組;每個位元組可以具有 256 個不同的位模式中的一個模式。

在計算機中,字元由不同的位模式(ON 或 OFF)表示。每個位元組有 8 位,這 8 位可以有 256 種不同的 ON 和 OFF 組合模式。對於使用 1 個位元組存儲每個字元的程序,通過給每個位模式指派字元可表示最多 256 個不同的字元。2 個位元組有 16 位,這 16 位可以有 65,536 種唯一的 ON 和 OFF 組合模式。使用 2 個位元組表示每個字元的程序可表示最多 65,536 個字元。

單位元組代碼頁是字元定義,這些字元映射到每個位元組可能有的 256 種位模式中的每一種。代碼頁定義大小寫字元、數字、符號以及 !、@、#、% 等特殊字元的位模式。每種歐洲語言(如德語和西班牙語)都有各自的單位元組代碼頁。

雖然用於表示 A 到 Z 拉丁字母表字元的位模式在所有的代碼頁中都相同,但用於表示重音字元(如"é"和"á")的位模式在不同的代碼頁中卻不同。如果在運行不同代碼頁的計算機間交換數據,必須將所有字元數據由發送計算機的代碼頁轉換為接收計算機的代碼頁。如果源數據中的擴展字元在接收計算機的代碼頁中未定義,那麼數據將丟失。

如果某個資料庫為來自許多不同國家的客戶端提供服務,則很難為該資料庫選擇這樣一種代碼頁,使其包括所有客戶端計算機所需的全部擴展字元。而且,在代碼頁間不停地轉換需要花費大量的處理時間。

❸ 涓轟粈涔堢紪紼嬪啓浠g爜鐨勫伐璧勯偅涔堥珮錛(鍐欎唬鐮佺殑宸ヨ祫楂樺悧)


1錛屽苟涓嶆槸鎵鏈夊啓浠g爜鐨勫矖浣嶅伐璧勯兘楂橈紝宸ヨ祫楂樼殑鐮佸啘浠呴泦涓鍦ㄤ簰鑱旂綉琛屼笟錛岃繖鏄琛屼笟鎬ц川鍐沖畾鐨勶紝鍜屽矖浣嶆棤鍏熾
姣斿備綘濡傛灉鏄宓屽叆寮忓伐紼嬪笀鎴栫數瀛愬伐紼嬪笀錛屾搷c璇璦錛屽湪宸ュ巶騫叉椿錛屽嵆鍐欎唬鐮侊紝鍙堟噦鐢佃礬錛屽伐璧勫彲鑳藉彧鏈15000銆備絾濡傛灉浣犳槸浜掕仈緗戠爜鍐滐紝鍙浼歴pringboot錛屾垨鑰呭彧浼歷ue錛屽伐璧勫ぇ姒傜巼瓚呰繃20000銆傝屽悗鑰呯殑鎶鑳芥按騫沖拰鐭ヨ瘑鍌ㄥ囨槸榪滀笉濡傚墠鑰呯殑銆
2錛屾槑鐪間漢閮界煡閬撹繖涓嶆槸涓涓鍚堢悊鐜拌薄錛屾墍浠ヨ繖縐嶆儏鍐墊e湪琚綰犳c
瑕佹眰浣庯紝鏀跺叆楂橈紝蹇呯劧鍐呭嵎錛屾墍浠ヤ簰鑱旂綉琛屼笟鍗峰埌璧烽烇紝榪欐槸甯傚満璋冭妭鐨勬墜孌碉紝鑰岃繎鏈熷浗瀹朵篃寮濮嬩嬌鐢ㄦ斂絳栨潯浠舵潵綰犳h繖縐嶇幇璞°備互鍚庣紪鐮佽兘鍔涗細鍙樺緱鍍忓姙鍏杞浠朵竴鏍峰鉤甯革紝鍐欎唬鐮佷細鍙樻垚涓縐嶅伐鍏鋒妧鑳斤紝鑰屼笉鏄涓氬姟鎶鑳斤紝鍙闈犲啓浠g爜鎷塊珮鍚鐨勬棩瀛愪笉浼氬お涔呬簡
鍐欎唬鐮佺殑宸ヨ祫紜瀹炶繕鍙浠ワ紝閲戣瀺琛屼笟騫沖潎宸ヨ祫鏈楂橈紝鐮佸啘嬈′箣錛屾垜瑙夊緱鐮佸啘宸ヨ祫楂樹富瑕佹槸鍥犱負浠ヤ笅鍑犵偣鍘熷洜錛1.
鐮佸啘鏄涓涓闇瑕佷笉鏂瀛︿範鐨勮屼笟錛岄棬妲涜緝楂橈紝澹佸瀿杈冮珮錛氭瘮濡傝村悗絝璇璦鍚э紝鏈鏃╃殑asp錛屽埌asp.net,php,java,go,python,windows鏈嶅姟鍣錛屼簯鏈嶅姟錛屽井鏈嶅姟錛岄珮騫跺彂絳夌瓑銆
鍓嶇涔熸槸涓鏍鳳紝浠庡紑濮嬬殑鍒囧浘浠旓紝鍒癹Query,鍐嶅埌鐜板湪鐨勪笁澶ф嗘灦vue,angular,react錛屽悇縐嶆祻瑙堝櫒鍏煎癸紝縐誨姩絝鐨勫悇縐嶈懼囷紝闇瑕佷笉鍋滅殑瀛︿範鎵嶈兘璺熶笂鎶鏈鍙樻洿鐨勮剼姝ャ
鍦ㄦ妧鏈鍗囩駭鐨勫悓鏃訛紝浣犺繕鏄寰堝氱殑鏃ュ父宸ヤ綔浠誨姟闇瑕佸畬鎴愶紝榪欐牱浣犲氨鍙鑳藉湪涓嬬彮鏃墮棿鍘繪彁鍗囪嚜宸憋紝鎵浠ユ垜浠鍙浠ョ湅鍒扮湡姝g殑澶х烇紝閮芥槸澶村彂寰堝皯鐨勶紝榪欎笉鏄寮鐜╃瑧錛屾槸鐪熺殑鐔澶滅啲鍑烘潵鐨勩
鏈鍚庡啀璇翠竴鍙ワ紝鐜板湪闅忕潃鍥藉朵笉鍋滅殑鎵撳帇鐩鍓嶇殑浜掕仈緗戝法澶達紝鎵舵寔浼犵粺琛屼笟鐨勪簰鑱旂綉杞鍨嬶紝鎴戠浉淇′簰鑱旂綉鐨勭孩鍒╄繕鍙浠ュ啀鍚冧簩鍗佸勾錛屽勾杞諱漢錛屽傛灉浣犳兂褰撶爜鍐滐紝濂藉ソ瀛︿範錛岃繕鏄涓嶉敊鐨勩傚紕涓涓変簲騫達紝鏈堣柂涓婁竾錛屽簲璇ヤ笉闅俱
鍚冮潚鏄ラキ鐨勫矖浣嶏紝浠樺嚭宸ㄥぇ錛屽綋鐒跺洖鎶ヨ侀珮錛屽惁鍒欒皝騫插憖錛熷彟澶栵紝紼嬪簭鍛樿繕寰楁湁涓瀹氶棬妲涳紝蹇呴』鏄紜曞+鎴栨湰縐戞瘯涓氱敓錛屽苟涓旓紝鏈変竴瀹氱殑緙栫▼鑳藉姏錛屼笉鏄涓鑸浜鴻兘浠庝簨鐨勮屼笟錛屾墍浠ュ伐璧勮緝楂樸
35浠ュ悗灝卞け涓氫簡[鎹傝劯][鎹傝劯][鎹傝劯]
鏌愮渷浼氱爜鍐滀竴涓鏈堝彧鏈4200鍏冿紝縐熸埧1300鍏冿紝鐢熸椿璐逛氦閫氳垂絳夋潅鏀1500鍏冿紝涔拌祫鏂欏厖鐢500鍏冿紝騫磋交浜猴紝鍐嶆湁鍏朵粬鑺辮垂200鍏冦
鍥犱負鍒頒簡35鍩烘湰涓婂埌浜嗚漿鍨嬬殑鏃跺欎簡錛岄潚鏄ラキ鎵浠ラ珮鐐癸紝鍏鍔″憳宸ヨ祫涓嶉珮錛屾姠鐫鑰冧簡錛岀▼搴忓憳娌″緱鍔炴硶鎵嶅共銆
楂樺暐楂橈紝涓嶅姞鐝鍙堝伐璧勯珮閭e彨楂橈紝鍔犵彮閭e氨鏄鑰楄垂瀵垮懡鏉ユ崲閽憋紝鍙涓嶈繃浣滀負紼嬪簭鍛樿兘寰楀埌榪欎箞涓涓鐢ㄥ垮懡鎹㈤挶鐨勬満浼氾紝浠旂粏綆楃畻鐪熺殑楂樺悧錛岄珮浠杕gb
IT琛屼笟涓轟粈涔堝伐璧勯珮錛
鍥犱負涓嶉渶瑕佸埗閫狅紝娌℃湁鍒墮犳垚鏈錛屾病鏈夌‖浠舵垚鏈錛屾病鏈夊師鏉愭枡鎴愭湰銆
鍞涓鐨勭‖浠舵垚鏈灝辨槸涓鍙板嚑鍗冨潡閽辯殑鐢佃剳錛屽敮涓鐨勪漢鍔涙垚鏈灝辨槸紼嬪簭鍛樸
鎵浠ワ紝鍒╂鼎灝遍珮涓鐐癸紝璧氱殑閽遍兘鏄鐮佸啘鐨勫伐璧勩
榪欑嶈傚康鍏跺疄鏈夊緢寮虹殑璇瀵兼с備竴鏂歸潰錛屼簰鑱旂綉鍦ㄦ渶榪戝嶮鏉ュ勾楂橀熷彂灞曪紝鏇濆厜鐜囦篃杈冮珮錛屾墍浠ユ櫘閬嶈や負鍐欎唬鐮佺殑宸ヨ祫閮介珮銆備絾鏄錛屽叾瀹炶繕鏈変竴浜涜屼笟榪滃湪鍐欎唬鐮佷箣涓娿傛瘮濡傞噾鋙嶈屼笟錛屾暀鑲茶屼笟絳夌瓑銆傚綋鐒朵粠浜嬬紪紼嬪伐浣滅殑鐩稿規潵璇村姞鐝閮戒笉灝戱紝濡傛灉綆楁椂鍚騫朵笉浼氭瘮鍏朵粬琛屼笟澶氬氬皯銆
鍥犱負榪欎釜宸ヤ綔錛屽規槗鑴卞彂錛屽伐浣滄椂闂撮暱錛屾敞鎰忓姏楂樺害闆嗕腑錛屼笓涓氳佹眰閮芥瘮杈冮珮銆傝櫧鐒墮┈榫欑幇鍦ㄦ瘮杈冨氾紝浣嗚屼笟姘村鉤灝辨槸榪欎釜鏍峰瓙銆

閱讀全文

與程序員代碼惡搞500次相關的資料

熱點內容
唱戲機程序加密 瀏覽:233
天眼查微信小程序源碼 瀏覽:446
海口Python開發工程師招聘 瀏覽:624
怎麼刪除狀態欄的新建文件夾 瀏覽:970
天翼沒有裝路由器怎麼加密 瀏覽:948
如何用app翻拍1寸照片 瀏覽:351
安卓如何把手機wifi搞壞 瀏覽:32
水果app源碼 瀏覽:685
安卓微信怎麼掃碼登陸lol 瀏覽:688
編譯預處理指令和頭文件 瀏覽:12
編譯原理課後練習答案 瀏覽:567
單片機控制液晶 瀏覽:812
中國手機幣app如何下載 瀏覽:901
編譯銷售人員工資 瀏覽:134
坦克世界被伺服器針對制裁怎麼辦 瀏覽:63
安卓手機如何限制單個app流量使用 瀏覽:506
大廠招32歲的程序員嗎 瀏覽:446
c語言最小編譯單位有哪些 瀏覽:461
戴爾12代伺服器什麼時間上市 瀏覽:222
編譯器調用第三方庫 瀏覽:86