㈠ 不同星座的程序員寫起代碼來分別是什麼樣子的
水瓶座
(1.20--2.18)
水瓶座的人都非常聰明(深井冰),特立獨行、追求創新,充滿了各種奇思妙想,有時候真的懷疑他們是不是從外星系來的。水瓶座的程序員寫的代碼乍一看平平無奇,再看第二眼,這是什麼鬼?看不懂!這是阿斯塔納星球的語言嗎? 水瓶os:天才一般的代碼豈是爾等凡人能看懂的!恕我直言,在座的各位都是渣渣!
雙魚座
(2.19--3.20)
雙魚座是天生的詩人,感情至上,一身的藝術細胞,還有重度自戀傾向。據說,ta們修改bug前也必須欣賞bug十秒。因為太過浪漫,ta們還容易多愁善感,有時候無法完全理性地思考問題,在寫代碼時也會不由自主的受到情緒的影響。代碼寫成什麼樣,全看心情。相比於代碼的可運行速度,雙魚座更關注的是代碼中的哲學意味。什麼?寫的不好?沒邏輯?你跟詩人要什麼邏輯!世界知名雙魚男:喬布斯老師。雙魚os:黑夜給了我黑色的眼睛,我卻用它來敲代碼……
白羊座
(3.21--4.19)
白羊座的人有火一般的熱情,具有強大的執行力和進攻意識。他們做事情必須充滿鬥志,打好雞血再上路,不然就會覺得沒意思。但美中不足的是,ta們往往停留在三分鍾熱度,代碼寫到一半就寫不下去了。所以他們的代碼通常都有一個極其美妙的開頭,然後……就沒有然後了。那句話怎麼說來著:一頓操作猛如虎,bug瞬間多十組。不過,在任何時候,白羊都是沖在最前面的那個人(也可能是最經常背鍋的那個人)。 白羊os:別愛我(的代碼),沒結果。
金牛座
(4.20--5.20)
金牛邏輯思維縝密,人也穩重不浮躁,非常適合寫代碼!又宅又高薪,不用跟太多人打交道,程序員簡直就是金牛的理想工作!金牛座程序員寫起代碼來就跟他的性格一樣,清晰、簡潔,沒有半句廢話,多一個符號都不行。但遺憾地是,不愛寫注釋也是他們代碼的典型風格。 金牛os:要啥注釋!寫注釋多廢紙啊!
雙子座
(5.21--6.21)
都說雙子座有雙重精分性格,ta們愛好新鮮事物,愛抖機靈,但做事情難免不專一。工作時也是一樣的,A面B面隨意切換,寫的代碼時而好的不像話,時而……額……一言難盡。 雙子os:人家不是一個人在戰斗!
巨蟹座
(6.22--7.22)
巨蟹除了對自己不溫柔,對全世界都溫柔的要命!性格好,有耐心,善於體貼和照顧別人(雖然有時候很啰嗦)。巨蟹座程序員在寫代碼的時候就將這種體貼發揮到極致,要麼就不寫,要麼就寫得很細致!擔心別人讀不懂程序,還會乖乖的把注釋摘錄下來。巨蟹os:我這么體貼又迷人,誰會不愛呢!
獅子座
(7.23--8.22)
獅子座天生王者氣息,熱情似火,樂於助人,責任感強。然而,他們身上又散發著迷之自信和中二氣息,他們很在意別人對自己的看法,所以在寫代碼時,會絞盡腦汁的讓代碼變得更加獨特,獨特到讓別人跪舔的那種。 獅子os:跟我比代碼?哼!簡直弱爆了!
處女座
(8.23--9.22)
處女座的人天生要強,追求完美,心思細膩,對細節的把控做到了極致。別人發現不了的問題,ta都能在第一時間找出來。處女座程序員對細節非常苛刻,並追求代碼的流暢、整潔,連改個bug都要對齊行間距。但正是這種「精益求精、逼死自己造福人類」的代碼龜毛症,才能推動IT界健康可持續發展! 處女os:我那是精益求精好嘛!
天秤座
(9.23--10.23)
大寫的顏控!天秤座的人對審美有很高的要求,如果你身邊有天秤座的朋友,那恭喜你!你已經被納入高顏值的范疇了!在天秤座程序員眼裡,【代碼的好看程度】比【代碼的好用程度】更重要,畢竟是自己寫出來的東西,如果自己都看不下去,又怎麼能給別人去看呢?不管這串代碼好不好用,只要好看就行了!天秤os:能把代碼寫得這么美的也就只有我了。
天蠍座
(10.24--11.22)
天蠍座的人多半隨性且佛系,決定天蠍座程序員編程風格的只有三個字:看心情。代碼對於天蠍座程序員來說雖然很重要,但畢竟每天朝夕相處,便沒有了「距離產生美」的感覺,所以他們很容易受其他事物影響。聽說菜價漲了?來吧,換代碼!人民幣匯率又升了?來吧,換代碼! 天蠍os:代碼千千萬,不行咱就換!做人,開心就好~
射手座
(11.23--12.21)
射手座天性愛玩,就像一個長不大的孩子。新鮮感大概是他們畢生的追求,同樣的事情不喜歡做第二遍。雖然編程是一項很嚴謹的工作,但射手座程序員仍然喜歡把自己的奇思妙想加進去。於是他們的代碼中總是混雜著最流行的思路和最前沿的理念,雖然不一定有什麼用,但看上去奔放洋氣有深度,簡約時尚國際范就夠了! 射手os:我就是我,顏色不一樣的煙火!
摩羯座
(12.22--1.19)
摩羯座被公認為最嚴謹認真的星座,甚至有輕微的強迫症。這個星座的程序員工作起來有板有眼,他們寫的代碼非常工整規范,猶如教科書般完美。 摩羯os:頭可斷!血可流!代碼不能亂!
不過話說回來,星座這事兒吧,如果篤信的話,多半要交智商稅,咱撿好的信就行。最好的態度是:適當信仰,逆天改命 。
㈡ 干貨:什麼樣的人不適合做編程
軟體蠶食一切。未來屬於程序員。所以人人都想當程序員。但是並不是每個人都能當好程序員。在你做出決定前還是先看看自己能不能當好程序員吧。可是什麼樣的人不適合當程序員呢?不要喝雞湯,我們看看Quora上面是如何回答的。
<img #0020ff"="" title="干貨:什麼樣的人不適合做
在全棧開發者Adam Leffert看來,最重要的是態度:
我認為編程要想成功最重要的是態度。當然,最低水平的 智力 還是要的。以我這么久的經驗來看,還沒見過蠢到不會做的。
但是好壞程序員之間的差別幾乎永遠是態度。
耐心 :對我來說這是最重要的一條。寫代碼和調試極其令人沮喪。要想做好,你得保持冷靜,至少冷靜到能夠保持清晰的頭腦。
精力 :處理棘手問題,編寫大量代碼容易使得身心俱疲。最重要的是要有我朋友Joshua Wachs所謂的「坐能量(tushie power)」。也就是屁股不離座直到工作完成的能力。
邏輯思維 :這條看似明顯,其實不然。一般的程序員在碰到棘手問題的時候一般是靠猜來解決的。運氣好可能猜得中。但運氣不好就難搞了。問題是猜並不能有效縮小可能原因的范圍。好的程序員會提出猜想然後進行測試,從而排除掉一堆的可能性。比方說,屏蔽一段代碼,看看問題是不是還出現。
自負 :編程不是你自己的事。這跟你的團隊、代碼、客戶、利益攸關者等等都有關系。(eShare CEO Henry Ward說自己永遠都不會要自負的人。)
曾寫過不成功OS的Peter Nierop則總結出了當不好程序員的3個跡象:
討厭用 Google :
在github、google和在線網站上面有大多數現成的解決方案。買本老教授的書學編程的日子已經過去了。現在的代碼來得快去得也快。而至關重要的事情是把你的東西盡快推向市場。任何不願每天至少使用 搜索 引擎1小時的人都應該另尋高就(編者注1:Google自己的研究也發現,開發者搜代碼越來越頻繁 注2:有人可能會說自己不是討厭用而是用不了。好吧如果是這樣的話,我要加最重要的一條:不懂用google的想都不要想當程序員了)。注意,這某種程度上可能是因為你什麼都想自己來,想成為全世界唯一的那個純粹的coder。
朝九晚五的心態
再強調一遍:及時發布很重要。普通的程序員往往每天工作不到8小時,好吧這就是你平庸的原因所在。不平庸的程序員連續22小時沖刺以後才能打個盹隔4天才洗次澡並在接下來的2周時間里每天要用2小時寫一些報告。不能或者不願在必要時 加班 的人最好打住。
極其糟糕的記憶 :
編程就是開很多的會,做各種各樣的變更,可能腦子裡面要裝100頁的代碼。未必是每一行都要記得清清楚楚,但起碼在管理層又折騰出一個變更或客戶突然又冒出一個想法時要知道你的程序是干什麼用的,什麼地方可能會失敗,怎樣才能很快修好。如果你的 記憶力 實在是太糟糕的話,最好還是找份其他的工作。
我在這個行當幹了這么久,碰到過各種各樣的程序員,不變的一點是一旦有上面的問題這些人基本都干不久。
開發者JohnPurcell:
由於開發界總是渴望有新鮮血液進來,所以除非你實在是太差(或者你原來基本都不用工作)否則想不成功都很難。我喜歡Peter Nierop的回答,不過說到正式的付費工作,我本人總是嚴格遵守朝九晚五的習慣,所以那個說法應該看工作情況而定。
如果你發現編程很乏味, 學習 又總是繁瑣無趣的話,那你想做好就很難了。因為你要跟已經編程上癮的人競爭。不過我也見過幾個人雖然不喜歡編程,業余時間基本也不編程,雖然稱不上出色的程序員,但是的確能夠藉此謀生。
要記住的是,編程不是什麼精英才能乾的事情。這個行業永遠都缺人。所以除非你一點都不喜歡編程,或者也沒有準備好看在錢的份上忍住這種不喜歡,否則都可以來編程。
而享受編程樂趣的Prince Pranav提供了3個不適合編程的跡象:
因為錯誤而過早放棄 :
永不放棄。哪怕是簡單的錯誤也不要放棄。這會讓你的代碼和心態大不同。好的程序員,在寫一長串代碼的時候會把代碼分解出來,分段測試。如果你因為前面1個小時總是碰到同樣的問題就把電腦給關掉了事,可以認為這是跡象1。最後你總會找到問題的,但一定不要放棄。
只對輸出而不是質量感興趣 :
開發出好應用是你的責任。如果你為了趕時間而犧牲應用的質量,你可以成為程序員,但不會是偉大的程序員。
樂趣不是找來的 :
你開始寫代碼前看了看錶,13:02,然後你再看的時候變成13:09了。有的人再看錶的時候已經是15:37了。真的,除非你是因為有趣才幹這個時間才不會流逝(註:不得不說,這又繞到了做你所愛還是愛你所做這個問題。)
究竟什麼樣的人當不好程序員,你覺得呢?
㈢ 電腦怎麼編程序程序員如何在電腦上編程的
❶ 電腦程序編制怎麼弄啊
編寫程序需要用軟體,一般的軟體有VB,還有C語言等很多類型。如果你只是編寫一些簡單的啟動程序,你可以打開記事本輸入代碼,然後保存,再修改一下文件的格式就可以了,可以改成BAT等。不如說移動磁碟里的autorun.inf
文件就是一個簡單的程序文件,你可以用記事本
打卡
裡面的文件看看
❷ 電腦怎麼寫程序
以在 Windows 操作系統下,編寫一個 C 語言源程序為例,首先必須要在電腦上安裝一個 C語言編譯器(例如:Microsoft Visual Studio C++),然後進入該編譯環境,在該環境中編寫 C 語言源程序、編譯 C 語言源程序、調試該程序、直到最後生成可執行的二進制文件(*.EXE)。
❸ 電腦怎麼編寫簡單程序
這是最簡單的了~~
❹ 程序員如何在電腦上編程的
說到如何在電腦上編程。首先需要知道下面這個問題的答案:「程序到底是什麼?」計算機程序是指令集,它告訴計算機如何執行特殊的任務。VB~VC~VF~C~C#~C++~java~.NET~這些都是編程 ASP~CGI~PHP~JSP這些是WEB編程。。 雖然都是編程,但編出來的程序可是不一樣的。 目標是什麼?開發?創業?還是去公司上班?還是業余愛好? 如果想業余編小程序,推薦VB~VC~容易上手。簡單。也蠻強大。 如果想學好了去企業上班,推薦C++~~~.net~~~JAVA之類的大型項目開發。 如果想做網站,就學ASP~CGI~PHP~JSP,這4個就JSP最最最難,先學ASP。現在是人工智慧時代,國家出台了很多政策鼓勵人工智慧發展,無人超市、無人駕駛、無人銀行、AI人臉識別層出不窮,我覺得以後人工智慧滲透的領域肯定也會越來越多,所以我推薦讓孩子學習python語言,python語言適合做人工智慧的開發。簡單容易上手,學好了以後對學習、出國留學、就業什麼的也會有好處。首先,工程師根據你的需求給你一個合適的方案,這個方案包括硬體搭建、軟體架構。 然後,在你滿意的方案下為你選用設備 最後,程序員按照你的要求編寫軟體 各種設備有自己的命令解釋器,程序員寫出來的軟體是可以按照機器能解讀的編碼編寫的,這些不需要用戶知道,用戶只要知道怎麼使用,怎麼維護就可以了,如果知道的更多,那就可以成了開發者
❺ 電腦怎麼打開編程
編輯程序讓電腦執行的過程就叫編程。
編程語言很多,具有代表性的計算機語言有Java,BASICC,C++,VB,VF,SQL,網頁編程JSP,ASP,PHP。Java是目前應用最廣泛的編程語言之一,大學中則常常以C語言作為編程的入門語言。
很多軟體都可以編程,主要有eclipse,MicrosoftVisualStudio,MicrosoftVisualBasic,MicrosoftSQLServer等等。
❻ 怎麼去報電腦編程序
題主是想問怎麼去編寫電腦程序吧?編寫程序簡單步驟如下:
1、桌面空白處右擊2,新建3,文本文檔,4,新建文本文檔的圖標。
2、修改txt文件的擴展名,右鍵-重命名。將.txt改為.vbs,修改成.vbs後看到圖標變了,這就說明你的系統能夠識別他成一個vbs腳本程序。
3、根據需要在裡面寫代碼了,右鍵-編輯文件,直接就可以像編寫文本文件一樣在裡面寫代碼了。
4、然後在裡面輸入一句彈出簡單對話框的代碼。
5、之後關閉文件並且保存,可以在編輯的時候直接按CTRL+S保存再關閉,然後去直接雙擊剛才新建的文件,就會彈出一個對話框來了。這只是系統自帶的一個腳本語言。
6、這只是系統只帶的一個腳本語言,如果要編一些其他的程序就需要裝對應的代碼編輯器了。例如C#就得裝visualstudio,java的、、eclipse等等。
❼ 筆記本電腦如何編程
筆記本電腦要想編程,首先要先選擇編程語言,然後安裝上編程語言工具軟體就可以了,如果沒有學過編程,可以用中文的"易語言"。
❽ 如何在電腦編寫一個小程序,輸出字元串
在電腦編寫一個小程序,輸出字元串,就找相應的軟體開發工具。
例如:在這里我們藉助的軟體是Visual C++6、0。打開軟體,先新建一個工程,在新建一個C++源文件,這些你聽起來可能有點陌生,不要擔心,你只需要按照下面操作就好。在建好文件之後,在源文件處,輸入下列代碼#includeusing namespace std;voidmaincout<<"我的第一個程序!"<<endl;然後編譯這個程序,點擊右上角有紅色邊框的按鈕。最後運行這個程序,點擊右上角的紅色框里的按鈕,看看運行結果。
❾ 你怎麼在電腦上編程,而不用任何軟體
40267">
我從編程寫軟體學到的 7 件事,其實學習編程不難,寫軟體也不你那,就看我們如何看待了!
我正在一點一點的從一個工程師轉型為管理者。別弄錯了,雖然我在轉管理,但我仍然在每天寫代碼。不過我發現自己在會議和電話中會花越來越多的時間去分析討論,試著去組織團隊,並且為全局部署而不是具體戰術而煩惱。
當然這不是一件壞事。高層次的決策往往比單個的類和函數的細節更有影響。讓一個團隊更有效率,比僅僅讓自己更有生產力有更高的杠桿作用。但我想我已經從我多年來的編程中吸取到了一些經驗。我希望大部分經驗可以應用於管理方面。
1、沒有規定(rules),只有公案(koans)
譯註:公案(Koan)有五種重要的涵義: 作悟禪的工具; 作考驗的方法; 作權威的法范; 作印證的符信; 作究竟的指點。)
舉個例子:DRY,意思是「不要重復你自己」。作為軟體的基本規則這很好理解,因為很多話可以證明:「我做 X 是因為它沒有重復。」這說得通,不是嗎?如果你有兩個或者兩個以上部分的代碼在做相同的事情,說明你正在浪費。而且如果當你需要改變它們其中一個的時候,你可能也需要改變其他的,並且你很可能會忘記這么做。當它們不同步時,你會得到一個怪異的 bug。因此很顯然你不能重復你自己。
然而,在使用了幾年之後,人們開始懷疑它的普遍適用性。假如你的兩個方法中包含相同的代碼塊,所以你將其拿出來形成一個單獨的函數。通常那些方法會開始朝不同的方向發展…接著你發現自己要在函數中加入更多的參數,很可能為結果立了更多 flags……然後下一個接手的程序員會因為分離出來的函數以及它所帶的特定的參數和結果,而出現認知負載。你會意識到如果當初允許自己重復,並讓兩塊代碼自然的發展為不同的個體,你生成的代碼將會更簡單直觀。
這意味著 DRY 不好嗎?當然不是!通常在合適的環境下使用 DRY 是正確的…好吧,也許。我個人的經驗是:「重復一次是可以的,超過一次就不太好了…當然這取決於所處的環境。」因為所有事都取決於環境。DRY 的目的並不是為了 DRY。如果你迷信於此,小孩兒,那你還有太多要學。DRY 的目的為了讓你了解 DRY。那當然不是規定,僅僅是公案。
(讓我重申一遍:我在討論的是軟體。在我的經驗中,硬體規定的確更傾向於是我們所理解中的規定。這就是我為什麼要從電氣工程轉到軟體的原因)
細想我最喜歡的兩個計算機科學「定律」。第一:「計算機科學中沒有一個問題是不能通過添加另一層抽象來解決的!」這句話完全正確嗎?當然不。這在現象學上是正確的嗎?實際上,的確是。這是否意味著抽象是解決任何問題的正確途徑?不,不是。它是一個公案,可以啟發思想。
還有我歷來最喜歡的:「第一優化定律:不要這樣做。第二優化定律(對專家而言):不要又這樣做。」這顯然是一個公案,卻稱自己為法規。是時候讓你的代碼運行的更快嗎?不。是時候讓你的代碼運行的更快嗎?還不是。什麼意思?意思是要考慮到時間,復雜性,認知負載,具體結果,生活意義,人類存在的意義。並且三思而後行,小孩兒。但不要花太長時間,我們還有工作要做。
2、要想得到他人的信任,先信任他人
這不僅僅針對於管理者。雖然它對管理者尤其重要。信任是你真正擁有的唯一價值。如果你的公正、判斷、理解、誠實不被信任。接下來你組織的成員將把你視為禍害並繞著你走。然而,如果你是個有能力但不被信賴的開發者,你可能還有一些價值。雖然你在每個決定上做的努力都會被大大消減。
不過更重要的一點是:一個團隊的成員需要互相信任。當 Natascia 說:「我來解決那個問題單(ticket)」,你必須相信她會去做。當你說:「Peter 能在截止時間前完成的。」,你必須相信那會實現。當某人說,「我有一個瘋狂的點子」,他們必須信任他們會被尊重和認真對待,盡管那點子的確很瘋狂。
你是如何建立和得到信任的?答案很簡單:你去信任他人。你相信那個說他可以學會這個新庫並且在周一前會整合完的人。你相信那個說他需要提前離開,因為家裡有事而會錯過明天工作的人。你相信那些想在截止日期前一個月休假的人,因為他們覺得自己已經開始筋疲力盡了。你相信說想要解決難題的初級程序員。
但你不總是正確的。有些時候人在工作上存了壞心。你需要揭露這些人的真面目,讓他們盡早離開。有時候你要信任那些真心想成功的人,雖然他們會失敗。但違反常識的是,長遠來看這通常是個勝利。因為那些人會記住你的信任,他們會盡一切努力來報答你。
3、簡單比優雅重要的多
我也喜歡緊湊優雅的代碼。我喜歡靈活的框架,有如此多抽象層次隨時待命,無論拋出什麼改變的需求都能解決。我喜歡使用位向量、位位移、略微復雜的數據結構和不太流行且古怪的小語言特性,但在特定環境下十分實用。
然而你並不只是為了你自己寫代碼。即使它只是個「原型」。(我已經記不清我有多少「原型」在多次對層操作和潤色的過程中出現問題。)而且你不僅僅是為了解決當前的問題編寫它。你正在為了下一個接手的開發者可以使用它來解決下一個問題而編寫。把你寫到那五行代碼擴充為十行可以增強其可讀性,你知道嗎,也許擴展為十五行效果會更好。
你可以提前嘗試並用靈活且充滿抽象的框架解決它們。但是也許預言不是你的強項,也許你關於下一個問題的概念的想法完全是錯誤的。也許僅僅編寫足夠簡單的代碼才是最佳選擇。有一個命名約定和一個編碼風格,讓它讀起來像英語一樣。也許不是添加一個類,而是下一個開發者在試圖跟隨你的控制流程時必須保持另一個文件的開放。你應該用愚蠢的方式,不雅的方式,簡單的方式。
4、動力比大多數事都重要
我們都曾見過這種情況。一周里每個人都在檢查代碼,構建顯而易見的雛形,每天不斷增加特性,測試覆蓋率越來越高。疏忽也隨著生產的想法和解決方案而出現。不知怎麼的下一周所有事都變得緩慢起來。關於 A 的決定,會影響到 B、C和 D。當人們可以運行D、E 和 F 時,它們不是邏輯序列發展上的一部分。於是需要做更多的假設,認知負載加重,你不得不模擬出一堆東西來寫出非模仿代碼。一些人需要做這個決定。
或許不是決定會癱瘓,是你上周所做的一切都在錯誤的基礎上,是一個「地震多發區」的技術負債。你需要停止所有事返回並重構它。而且你必須馬上開始,因為等的時間越長,事情會變得越糟糕。沒人想看到這種事發生 。但他們寧願現在面對也比下個月知道的好。讓暴風雨來的更猛烈些吧。
也許上周每個人都拼勁全力,現在實在撐不住了。你知道該怎樣嗎?得讓他們休息一下,每個人,休息一整天。我保證,這會給你接下來的「長跑」節省時間。
I我們很難定義、衡量以及說明動力。但它在軟體開發中是真實存在的東西。而且它的缺失會成為造成首要影響,導致我們需要去解決很多根本問題。別忽略它,也別期望或假裝它會神奇地回來。察覺警報並迅速採取行動。
5、與和你互補而不是像你一樣的人一起工作
每當我看到人們根據「文化契合度」來找人的時候,我就會拚命翻白眼。你知道大多單一栽培會發生什麼嗎?他們遭遇了他們不知如何解決的病原體,然後嗝屁死翹翹了。
你不會希望你的所有開發者、設計者、 QA人員、產品人員、銷售人員和執行官是彼此的克隆人。你肯定不想。每個人都有自己的長處和短處、優點和缺點。你想要僱傭的是他們的長處,讓其他人的長處彌補他們的短處。
比如說我,寫代碼非常快,擅於溝通,讀寫文章都奇快。我在任何時候都能熟悉很多編程語言和框架。我理解東西透徹且迅速,有豐富的經驗。然而我還是一個在特定領域、框架和語言缺乏深刻專研、精通掌握的全才。我是一個真正從別人身上獲益的建築師,跟蹤所有需要,在骨骼構建好之後添加肉體和潤色。我還是個 UX 盲(等一下,你說那些還沒對齊?),這一直被當作同事之間的玩笑。
像我這樣的人非常難找到也是及其被需要的。但一個由我和九個像我一樣的克隆人組成的公司是從一開始就註定要失敗的。唔,我們會把很多事情做好,但只需要一個集中的盲點,一個災難性的空隙就足以毀滅公司。大多數人承認有些事情他們做不好,另一些人可能需要照應。這些人往往是尋找「文化契合度」的人,並試圖僱傭和他們一樣的人。真令人哭笑不得。
6、任何決定都比沒決定強
別猶豫,當你拿不準主意時,去做就好了。當然,這可能不適用在生產代碼的時候。但它可以應用於除此之外在軟體開發里的任何方面。我們在歷史上發展最快的行業里工作。我們生活在以指數形式發展的世界裡。時間不等人,別浪費它。
這與低級決策的高級討論一樣真實。在高水平的討論里,比如「我們應該實現特性 A 還會說 B?我們要用哪種方式實現呢,X 還是 Y?「,常常會產生這樣的對話,」讓我們先跳過這個…下周再對它進行討論…「,或者更陰險的,」讓我們先研究一下其他人做了什麼再來討論一次。「這樣的問題極少情況下會有正確答案。大多時候,像這么說才是正確的,」我會在今天之前決定嘗試哪一個,這樣我們就可以明天開始行動了。
甚至 A 選項基本上是錯誤選擇,開始進行 A 大概也比啥都不做強。這和直覺是相悖的,但它通常也是正確的。以實際上手的方式去理解 A 的本質是一個更好的辦法,這個道理始終是正確的。這樣的理解可能會引導你做出更好的決定。
對於低級決策,那就更應該如此了。「規范沒有說明我們應該如何處理錯誤條件 X,或者錯誤信息應該是什麼。」(規范似乎是為一個有抱負的烏托邦寫的,在這種烏托邦中,錯誤條件和獨角獸一樣罕見。)「我知道,我只是想插一句,回去問問他們在這種情況下想做什麼!」
這非常誘人。如果你這么做,沒人能指責你哪裡做錯了。但這么做是錯誤的。寧願繼續自己做決定,盡管有些魯莽,也不要什麼都不做等著問別人。讓它們在你做已經寫好的程序和你學到的教訓里迭代,雖然你知道這並不完美,也好過從頭開始錯誤認知。它們和項目將會變得更好。快速嘗試,快速改變方向。
7、保持謙虛,但要自信
你不需要所有的答案。甚至是我也不得不勉強承認我不會有全部的答案。可惡,我甚至連它們的大多數也沒有,不過我有自信,只要給我足夠的時間和精力,我能弄清楚大部分。並且你也可以。
我們無法都成為 Jeff Dean(谷歌大牛)、中本聰(比特幣創始人) 或是 Margaret Hamilton(登月計劃中的女程序員)。我們在一個充斥著真正的天才和自稱天才的地方工作。沒人知道所有的事情,每個人都敏銳地意識到他們所不知道的一切。幸運的是,大多數情況下,我們不是科學家。我們的工作不是去尋找新突破。我們的工作是實踐他人的發現,使東西運轉,希望服務於人們真正想要的東西。也許你永遠不會發明任何東西,像是布隆過濾器或默克爾樹。不過大多與你共事的人們也不會。而且這不是重點,重點是使用布隆過濾器和默克爾樹,亦或是在它們之上建個抽象層,來實際的完成它們。
所以假設你懂的會比在座的人都多是錯誤的,就算你覺得他們違背直覺的想法很瘋狂,他們的語言選擇很糟糕。假設人家比你懂的多也是錯誤的,即使真是那樣,也沒關系。世界上多的是聰明人因為一些不可思議的原因什麼實際東西也沒做出來。(開個廉價的玩笑╮(╯▽╰)╭:這就是為什麼我們有學術界的原因。)
如果你真的做出了一些東西,在面對那些令人眼花繚亂的理論知識,或是和你相似甚至比你做的更糟糕的人時大可不必謙虛。在一天結束之時,正是那些在戰壕中的開發者——構建、測試和開發了代碼的人,真正做了事情。話說那些發現自己遠離戰壕的人,那些沒有和你一起並肩作戰的逃兵,你有權利鄙視他們。並且向你的夥伴致敬,而不是上司。
原文標題:做好這7件事 讓你學編程寫軟體不在難
原文鏈接:http://www.epx365.cn/peixun/software/201840267.html
㈣ 如何成為編程高手,程序員要看什麼樣的書籍,有經驗的人說一聲,做好是大師級別的人物
作者:金蝶中間件公司CTO袁紅崗
不知不覺做軟體已經做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上並沒有成為高手的捷徑,但一些基本原則是可以遵循的。
1. 扎實的基礎。數據結構、離散數學、編譯原理,這些是所有計算機科學的基礎,如果不掌握他們,很難寫出高水平的程序。據我的觀察,學計算機專業的人比學其他專業的人更能寫出高質量的軟體。程序人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使你再精通OOP,遇到一些基本演算法的時候可能也會束手無策。
2. 豐富的想像力。不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想像力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。另外,多看科幻電影也是一個很好的途徑。
3. 最簡單的是最好的。這也許是所有科學都遵循的一條准則,如此復雜的質能互換原理在愛因斯坦眼裡不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮復雜的方案。
4. 不鑽牛角尖。當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊聊天。當我遇到難題的時候會去玩游戲,而且是那種極暴力的打鬥類游戲,當負責游戲的那部分大腦細胞極度亢奮的時候,負責編程的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,我會發現那些難題現在竟然可以迎刃而解。
5. 對答案的渴求。人類自然科學的發展史就是一個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們去付出。只要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最後沒有得到答案,在過程中你也會學到很多東西。
6. 多與別人交流。三人行必有我師,也許在一次和別人不經意的談話中,就可以迸出靈感的火花。多上上網,看看別人對同一問題的看法,會給你很大的啟發。
7. 良好的編程風格。注意養成良好的習慣,代碼的縮進編排,變數的命名規則要始終保持一致。大家都知道如何排除代碼中錯誤,卻往往忽視了對注釋的排錯。注釋是程序的一個重要組成部分,它可以使你的代碼更容易理解,而如果代碼已經清楚地表達了你的思想,就不必再加註釋了,如果注釋和代碼不一致,那就更加糟糕。
8. 韌性和毅力。這也許是"高手"和一般程序員最大的區別。A good programming is 99 weat and 1ffee。高手們並不是天才,他們是在無數個日日夜夜中磨練出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。
㈤ 優秀Java程序員都是怎樣寫代碼的
主要是勤奮刻苦、開拓思想、堅持不懈、不斷學習的精神。
1、先說素質:欲做事,先做人。做技術類的童鞋往往忽視做人,覺得學好習,搞好技術,就一定能獲得好的發展。其實未必,大部分程序員不是天才,也不是神通。要想讓別人教雹高你知識,與你分享技術,與你共事,素質是最關鍵的。高素質又高技能的人才才能獲得別人的敬仰與尊敬,也能獲得領導的賞識與提拔,更能獲得更高的回報和機會。
2、再說代碼:優秀的程序員必需能寫優秀的代碼,程序員就好比計算機界的作家,你寫的程序就如一篇篇優美的文章,計算機才能很好的閱讀並執行,別的程序員也能看懂你的代碼。最優勢的程序員寫的代碼就如詩歌一樣,引人入勝。
3、編程思想:java是面向對象編程,很多Java程序員,尤其是一些走培訓班的,不認真思考原理和思想,囫圇吞棗。結果學了技術,不懂思想,沒有掌握Java的精髓。
4、基礎扎實:有些Java工程師都做了好幾年了,結果一些最基本的知識還沒記牢,再編程的時候總用工具的提示,沒有工具就寫不出正確的代碼,這樣的人怎麼會成為高手呢,更不會被別人認為高手,就好比一個大作家連很多字都寫錯一樣。
5、編程速純肆棚度:優秀的程序員編程必不慢,這除了基礎扎實、經驗豐富外,更需要清晰的編程思路和節奏,在寫程序前,一定做好規劃和設計,預想到各種情況,尋找最快速的演算法。
6、注重效率:一個功能,張三用了100000行代碼,而你只用了300行代碼,那你做的既簡單又高效,運行速度還快,還省內存和資源,那你就是牛人,那個人就是低做則手。
7、學習能力:優秀的程序員永遠不停的學習,其學習能力是最強的。他隨時隨地掌握最先進的技術,這都離不開快速的學習能力。