困擾程序員的30種軟件開發(fā)問題,你造嗎
來源:原創(chuàng) 時(shí)間:2017-09-09 瀏覽:0 次開發(fā)應(yīng)用程序是一項(xiàng)壓力很大的作業(yè),人無完人,作業(yè)中遇到各式各樣的問題是很正常的事,有些程序員會(huì)生氣,懊喪,抑郁,乃至灰心,也有一些程序員則會(huì)比較淡定。怎樣進(jìn)行修正的進(jìn)程,是值得我們好好琢磨的。
回歸從前寫的源代碼,總有一種想要重新返工的激動(dòng),邏輯性差,冗余代碼多,讓人難以理解。可是,如果功用沒出現(xiàn)問題,千萬不要去修改。這是我常常要面臨的困擾,信任也困擾了其他不少的軟件開發(fā)者。
2、一開始架構(gòu)時(shí)就該查Github
說到一些越來越被廣泛運(yùn)用的計(jì)算機(jī)言語,像Java和Objective-C,庫文件的數(shù)量也不斷增加。很顯著可以看出,構(gòu)建一個(gè)結(jié)構(gòu)就需求許多的根底庫,乃至一些Java的插件也需求許多許多的附加文件。有時(shí)分這些雜亂無章的東西會(huì)很讓人心煩,可是至少它能運(yùn)轉(zhuǎn)。
4、網(wǎng)上一定有處理方法
何必要多此一舉插件是擴(kuò)展任何程序或許網(wǎng)站用戶接口的很好的資源。別的它們還為開發(fā)者供給了一些定制以及共同的選項(xiàng)。如果沒有可用的插件,那你為什么不自己創(chuàng)立一個(gè)呢?
6、關(guān)于網(wǎng)站項(xiàng)目,我好擔(dān)心坑爹的InternetExplorer
有一些邏輯句子,像if/else循環(huán),for循環(huán),while循環(huán),do循環(huán)…等等,還有許多。在回憶一些源代碼時(shí),我總是極力想弄明白我的邏輯是怎樣回事。我常常會(huì)回頭更新代碼,讓邏輯更明晰。
8、我花30分鐘寫個(gè)函數(shù),運(yùn)轉(zhuǎn)它卻要花2個(gè)小時(shí)
我總是喜愛依據(jù)自己的編程思維直入主題,可是如果作業(yè)沒有依照我本來的方案進(jìn)行時(shí),會(huì)導(dǎo)致許多費(fèi)事。有許屢次,我在做項(xiàng)目時(shí),途中都遇到了費(fèi)事,終究只得查找博客和相關(guān)文章去尋求協(xié)助。然后又發(fā)現(xiàn)我的整個(gè)方法徹底錯(cuò)了,還不如從頭開始更簡略點(diǎn)。所以從長遠(yuǎn)來看,在項(xiàng)目開始時(shí)多做點(diǎn)研討反而會(huì)節(jié)省時(shí)刻。
10、StackOverflow上有好心人或許能協(xié)助我
調(diào)試是我們常常要用的方法,向前兩步,回退一步,再向前兩步,如此反復(fù)。為了查找函數(shù)命名或許變量作用域等過錯(cuò),盯著代碼看了數(shù)個(gè)小時(shí),成果發(fā)現(xiàn)僅僅缺少了一個(gè)括號(hào),你會(huì)有種哭笑不得的感覺。一切的時(shí)刻都糟蹋在了一個(gè)小小的語法過錯(cuò)上,那一刻,你會(huì)覺得自己既是天才,又是傻子。
12、喝杯咖啡,歇息一下
歇息的另一種方法就會(huì)暫停你手中的項(xiàng)目,而不是脫離你的電腦桌?;蛟S你還有其他的作業(yè)要做,那就持續(xù)下一項(xiàng)使命。比起企圖在一個(gè)花了5個(gè)小時(shí)還沒處理的問題上持續(xù)掙扎,這會(huì)是一種更合理地分配時(shí)刻和資源的方法。
14、我在想或許古典音樂可以激起我的編程潛能呢
我信任許多讀者都知道鮑爾默峰值,它是依據(jù)一個(gè)特別的XKCD漫畫得來的。簡略來說,這個(gè)理論認(rèn)為程序員的編碼才能在喝了定量的酒后,會(huì)達(dá)到一個(gè)峰值。這個(gè)起源于SteveBallmer的些乖僻詼諧的姿勢被認(rèn)為是像一個(gè)醉漢在說胡話。雖然這有點(diǎn)挖苦,由于鮑爾默在微軟從來算不上一個(gè)真實(shí)的程序員,猜測我們只要等其他人來實(shí)踐這個(gè)理論了。
16、是誰動(dòng)了我的代碼?
你遇到的最糟糕的狀況應(yīng)該是在研討源代碼時(shí),徹底不知道它是在干什么,可能是來自你自己的項(xiàng)目,也可能是其他人的項(xiàng)目,可是問題都一樣。這個(gè)時(shí)分,你有必要斷定是否值得花費(fèi)更多的時(shí)刻去尋覓其它處理方案或許仔細(xì)分析代碼,研討它到底是干什么的。
18、直接google下過錯(cuò)提示
我們都知道想要退出時(shí)的那種極度懊喪的感覺,可是一起又覺得拋棄不是正確的挑選。你很想持續(xù)前進(jìn),找出新的處理方案來??墒侨绻浇K究仍是糟蹋了一個(gè)小時(shí),那該怎樣辦?我對這種狀況并不生疏,它會(huì)讓人特別懊喪。
20、哦買糕的,為什么我都沒寫注釋呢
或許構(gòu)建程序時(shí)最讓人懊喪的是,明明剛才還好好的東西,沒有改正任何代碼,這會(huì)兒卻運(yùn)轉(zhuǎn)不起來了。我立誓這種狀況肯定有發(fā)作,而且它沒有任何含義—或許其它程序運(yùn)轉(zhuǎn)的是緩存版別呢然后也有一些時(shí)分我們只更新了一丁點(diǎn)代碼,成果整個(gè)程序都崩潰而且徹底中止運(yùn)轉(zhuǎn)。那就會(huì)回退到最新的備份版別,從那兒持續(xù)吧。
22、忘了一個(gè)該死的分號(hào),整個(gè)程序都崩了
雇傭程序員的主意聽起來很誘人,但顯然在經(jīng)濟(jì)上是不可行的。別的,如果你連自己的的過錯(cuò)都沒處理,你又怎樣能從這些過錯(cuò)中學(xué)到東西呢?閱歷屢次失利,終究當(dāng)你真實(shí)理解了編程的概念后,你會(huì)很有成就感。但有時(shí)分腦子里不免仍是會(huì)閃過這種主意。
24、快速閱覽下HackerNews,肯定能提高我的功率
最讓人懊喪的作業(yè)就是運(yùn)用插件或許結(jié)構(gòu)時(shí),自帶的文檔很糟糕,你只好自己去深化閱覽源代碼。我更喜愛讓開發(fā)人員花時(shí)刻專門為項(xiàng)目設(shè)計(jì)一個(gè)文檔頁,對一切的參數(shù)和選項(xiàng)都給予解說,有可能的話,給出一些示例代碼。可是很惋惜,這種狀況簡直不可能。所以最簡略的方法就是遠(yuǎn)離那些順便文檔很糟的作業(yè),避免給自己帶來費(fèi)事。
26、我真希望我現(xiàn)已對數(shù)據(jù)庫進(jìn)行備份了
如果花費(fèi)了數(shù)小時(shí)后,依然未找到一個(gè)處理方法,很顯著你需求一個(gè)新的方案了。程序員總是想要先完結(jié)功用,然后再去設(shè)計(jì)和美化界面。先斷定一個(gè)最快的,最精確的處理方案,并極力去完結(jié)和完結(jié),然后再去考慮美化界面的問題就會(huì)很輕松了。
28、我敢打賭,你更新下我的代碼,這個(gè)問題就處理了
開源的版別操控操控軟件Git在程序員中廣受歡迎。跟其他競爭對手比較,它供給了一條更簡略的學(xué)習(xí)曲線,被應(yīng)用在了許多在線倉庫像Github和Bitbucket中??赡軐Τ鯇W(xué)者來說,會(huì)有點(diǎn)難度,可是一旦你把握了根本命令,你會(huì)發(fā)現(xiàn)運(yùn)用GIt就是小菜一碟。它還讓版別操控愈加明晰。
30、算了,我仍是從頭開始吧
<p font-size:16px;text-indent:2em;background-color:#ffffff;"="" style="word-wrap: break-word; margin: 5px 0px; font-family: "sans serif", tahoma, verdana, helvetica; color: rgb(62, 62, 62);">有時(shí)分嘗試了數(shù)小時(shí)的處理方案后,你可能需求將你的作業(yè)文件歸檔(或許刪掉它們),重新開始。這個(gè)決議的最大難點(diǎn)就是你會(huì)考慮到前面數(shù)小時(shí)的作業(yè)會(huì)毫無收成??墒侨绻惚4嬷暗闹饕猓?xiàng)目卻毫無發(fā)展時(shí)。重新開始,才有可能讓項(xiàng)目順利完結(jié)。