日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 玩轉嵌入式
[導讀]開發(fā)工作充滿了挑戰(zhàn)性。人無完人,對于程序員來說,寫出有 bug 的代碼是在所難免的。有些人很淡定,也有一些人會感到生氣、沮喪、不安或氣餒。 在修復 bug 的過程中我們都經歷了什么?來和大雄一起找找共鳴,看看大家是不是都經歷過這種掙扎……

開發(fā)工作充滿了挑戰(zhàn)性。人無完人,對于程序員來說,寫出有 bug 的代碼是在所難免的。

有些人很淡定,也有一些人會感到生氣、沮喪、不安或氣餒。

在修復 bug 的過程中我們都經歷了什么?來和大雄一起找找共鳴,看看大家是不是都經歷過這種掙扎:
1
“我不知道該把它刪掉還是該重寫”

看著舊代碼,總有一種想要重寫它們的沖動。

丑陋的邏輯語句和啰嗦的語法極大降低了代碼可讀性!

但是,如果代碼跑得好好的,為什么要去修改它們呢?

我們經常會陷入這樣的兩難境地,而且我相信這也困擾著很多其他程序員。

2
“我先到 GitHub 上找個框架”

我想大多數人都知道 GitHub,這個網站每天都會有很多開源項目發(fā)布出來。


開發(fā)者們加入這個網站,給已有的項目拉取分支,在 wiki 上討論,或者創(chuàng)建自己的代碼庫。

網站提供了很多很好的插件和模板,可以被用在各種各樣的項目中。

3
“為什么這個腳本要用這么多庫?”

如果要使用熱門的編程語言,比如 Java 和 Objective-C,那么項目依賴庫的數量會變得非常大。

在采用一個需要大量依賴項的框架時這一點就變得非常明顯。

一些 JavaScript 插件也需要大量的額外文件。有時候這些雜亂的東西會讓人厭煩,但至少它們是可以用的!

4
“網上一定能找到解決方案”

在碰到難題時,我的第一反應是上網。

很多程序員會在論壇上問問題,這些問題最終會得到解答。

谷歌非常善于挑選與你的問題相關的關鍵字,并為你提供這些有用論壇帖子。

但可惜的是,有時候對于某個具體的特定的問題并沒有太多的信息。

5
“這個功能有沒有對應的插件?”

為什么要重復發(fā)明輪子呢?

要擴展用戶界面、程序或網站,插件是一種很好的方式。

另外,插件還能提供定制化功能。

如果找不到相應的插件,為什么不自己開發(fā)一個?(因為菜啊)

6
“網站沒問題,就怕遇到 IE”

在 IE 中渲染網頁給我們帶來了很多考驗和磨難,這個就不用多說了。

從 IE 5.5 到 IE 9/IE 10,人們一直在為獲得更好的瀏覽器支持而做著艱苦卓絕的斗爭。

Web 開發(fā)人員可能很擔心網頁調試,因為在?IE6?中打開一個網頁可能就是一場噩夢。

值得慶幸的是,那些日子正慢慢成為過去。(只要別拿IE,我們都是朋友)

7
“這條邏輯語句的邏輯性不是很強”

if/else 循環(huán)、for 循環(huán)、while 循環(huán)、do 循環(huán),這些都是邏輯語句,除了這些之外還有很多。

在閱讀示例代碼時,會反復回想代碼里的邏輯應該怎樣寫更好。

大量的非運算符和比較符號會讓人暈頭轉向。

所以,會經?;仡^去修改之前寫好的邏輯。

8
“半小時寫的函數,花兩個小時調試”

一股腦兒寫了一個函數,然后函數輸出了一個致命的錯誤。

為了找到問題所在,就不得不把其他代碼刪掉,只留下出問題的那幾行代碼。

(找bug猶如此圖)

當最終找到問題并把它修復,會感到筋疲力盡,但同時也松了一口氣。

9
“在看了幾篇文章之后,我才意識到之前的做法是錯的”

大家通常喜歡用自己的方式做事,但如果事情沒有按照原計劃進行,可能就會有麻煩。

有好多次,開始一個項目遇到了麻煩,然后開始在網上搜博客尋找解決方案。

最后發(fā)現原來方法是錯誤的,重新開始也許會更容易些!

所以,在一開始先做一些調研,從長遠來看肯定會節(jié)省時間。

10
?“少了右括號,麻煩一大堆”

調試代碼就是跳來跳去,向前兩步,后退一步,再向前兩步,如此往復。

花上幾個小時盯著代碼看,查找函數名或變量作用域中的錯誤,最后卻發(fā)現少了右括號,那種感覺很怪異。

所有的時間都浪費在了一個很小的語法錯誤上,感覺自己蠢得冒氣。

11
“休息一下”

有時候需要站起來,離開顯示器一會兒。

在敲了幾個小時的鍵盤之后,休息一會兒肯定有助于思考。


大多數的健康指南建議每 30 到 60 分鐘休息一次,但這完全取決于自己的需要。

如果總是在半途中斷,也可能感覺很煩。(番茄鐘我就完全用不了......)

12
“手頭的項目先停下,稍后再繼續(xù)”

除了離開電腦,這是另一種休息方式。

或許還有其它工作可以做,那就去做吧。

這是一種更好的分配時間和資源的方式,特別是如果已經花了 5 個小時還解決不了一個問題的時候。

13
“有沒有能夠激發(fā)我編程能力的古典音樂?”

有一種觀點認為,在植物生長的初期,播放古典音樂有助于植物的生長。

個人很喜歡古典音樂復雜的音符和音樂理論。

爵士樂、鋼琴、大樂隊,古典音樂在人類文化中都占有一席之地。

那么,在編程時聽音樂真的能讓你在調試代碼時變得更聰明嗎?


可能不會,但希望它也不會讓你變得更笨。

14
“或許現在是檢驗鮑爾默巔峰理論的好時機”

我想很多人都知道鮑爾默巔峰理論:該理論認為,程序員在攝入一定數量的酒精后,其編碼能力將達到巔峰。

這是由史蒂夫·鮑爾默的古怪行為引起的,感覺可能只是一個酒鬼的胡言亂語。

不過這有點諷刺,因為鮑爾默在微軟并不是一名程序員。注意上班時間不要試哈~

15
“誰動了我的代碼?”

這聽起來就像是一種妄想癥,但有時不得不懷疑,是不是睡覺的時候,誰寫了這些代碼。

過去幾周或幾個月忙的項目非??菰?。

有時候會不記得自己往代碼庫里添加過東西——甚至是上周剛剛查看過的項目!


16
“我不知道這是什么意思”

最糟糕的情況是,你一邊閱讀源代碼,一邊不知道該做點什么。

可能是你自己的項目,也可能是其他人的項目,但問題是一樣的。

現在,必須決定是花更多的時間查找替代方案,還是花時間分析腳本。

17
“我要在谷歌上搜一下這個錯誤消息”

不得不說谷歌真是好朋友。

不管你使用的是什么編程語言,比如 Objective-C、C++、Java、Python 等,都會有同樣的體會。

錯誤消息試圖為我們提供幫助,但除非已經記住了各種錯誤代碼的含義,否則它們看起來更像是經過翻譯的計算機語言。

但只要谷歌一下就有很多內容可以幫助我們確定這些錯誤消息到底是什么意思。

18
“今天應該到此為止,但我真的很想解決這個問題!”

我們都知道,當想要放棄一件事情,會有一種挫敗感,同時又覺得放棄并不是正確的選擇。

你希望繼續(xù)前進,并嘗試新的解決方案。

但如果你發(fā)現你又因此浪費了一個小時呢?我經常遇到這種情況,這讓人感到很難受。


19
“天哪,我為什么沒寫注釋?”

在寫前端 HTML/CSS/JS 代碼時,并不總是需要寫注釋。

但對于復雜一些的腳本和程序,就需要某種類型的注釋,以便你在幾個月后甚至幾年后回過頭來查看。

有時候你會忘記給函數及其參數、輸出格式和其他基本數據添加注釋。

當出現錯誤時,你需要調試整個腳本才能找到解決方案時,這無疑會給你添亂。

這個時候你就會想,如果當初加一些有用的注釋就好了。

20
“剛才它還能運行……”

開發(fā)程序最令人感到沮喪的,可能是什么都沒做——既沒有更新,也沒有修改代碼——程序卻突然不能正常運行了。

這種事真的經常發(fā)生。

也許是因為其他程序正在運行舊的版本?誰知道呢

有時候,更新一小段代碼就會導致整個程序崩潰,然后只能恢復到最近的可運行版本,并從那里接著往下開發(fā)。


?
21
“就因為忘記加個分號,整個程序都崩潰了”

我用過的每一種編程語言幾乎都需要行終止符,當然并不是所有的都需要,但 C/C++ 族編程語言通常是這樣的。

如果忘記添加結束分號,只是一個無心的錯誤,但解析器不理解這一點,它會無情地拋出一個致命錯誤。

然后,你必須再花 20 分鐘來查看代碼,最后你發(fā)現缺少了一個分號。也許這就是調試的“樂趣”。(感覺我在被代碼調試.....)

22
“我想知道如果請人來修復我犯下的錯誤要花多少錢?”

聘請其他開發(fā)者來修復問題,這種想法很誘人,但顯然財務上不允許。

另外,如果你不親自動手,怎么能從這些錯誤中吸取到教訓呢?


在經歷了多次失敗之后,當你最終對一個編程概念有了透徹的理解,你才會感覺良好,能招人還是招

23
“快速瀏覽一下 Hacker News 肯定能提高工作效率”

很多程序員喜歡在 Hacker News 上了解與軟件及初創(chuàng)公司相關的社會新聞。

這個網站上有很多關于自由職業(yè)、時間管理、軟件開發(fā)、新公司啟動和融資的信息。

雖然瀏覽這個網站會給你帶來高效的感覺,但它也在消耗你的時間。

每隔幾個小時休息一下,趁這個時候去看看新聞或許會更好。

24
25. “這個 API 怎么能沒有文檔!”

如果你使用的插件或框架沒有文檔,那么最令人感到沮喪的是你必須自己深入查看它們的源代碼。

個人偏愛那些開發(fā)人員會花時間專門設計文檔的項目。(文檔非常重要!?。?/span>

文檔解釋了所有可用的參數和選項,甚至可能還會提供一些示例代碼片段。但遺憾的是,并不是所有的項目都會這樣。

最簡單的方法就是遠離那些沒有詳細文檔的項目,這樣你就不會那么痛苦了。


25
26. “我多么希望給數據庫做過備份……”

在開發(fā)和調試代碼時,我并不總是會想到給數據庫做備份。

但是,數據備份提供了一個保障,在做出某些變更之前可以及時回退。

記住,請在本地保留網站項目文件和數據庫的副本,以備不時之需!

這可能是一項煩人的任務,但絕對沒有重建被損壞的 SQL 數據庫那么煩人。

26
27. “要解決這個問題,最快的方案是什么?”

在經過了幾個小時毫無頭緒的工作之后,很明顯,你可能需要嘗試一種新的方法。

在設計接口之前,程序員希望先讓功能正常運行起來。

確定最快速、最準確的解決方案,并保證 100% 的時間都可以正常運行,然后繼續(xù)做那些錦上添花的東西。

27
28. “我打賭,更新新版本就可以解決這個問題”

負責管理編程語言依賴項和插件的團隊不需要經常發(fā)布新版本。

有時候,更新 PHP/Ruby/Python/SQL 版本就可以解決將文件從本地傳輸到服務器時的調試問題。

本地更新很少有助于修復源代碼中的 bug,除非你的版本已經過時。值得一試!

28
29. “我應該學習 Git……但我想從下周開始”

版本控制系統(tǒng) Git 在程序員中非常流行,它的學習曲線比其他競爭對手要容易些,被用于管理很多在線代碼倉庫,比如 Github 和 Bitbucket。

開發(fā)人員之所以想要延后學習,是因為對于初學者來說,它的入門曲線非常陡峭。

但是,一旦理解了它的基本命令,Git 就變得非常簡單了
?
29
30. “扔掉這個,我要從頭開始”

有時候,在花了幾個小時嘗試某個解決方案之后,你會將工作文件移動到存檔目錄(或刪除它們),然后從頭開始。

之前幾個小時的辛苦工作幾乎沒得到有什么回報,所以做出這個決定是很艱難的。

但當我陷入困境時,重新開始往往正是完成一個項目所需要做的事情。



免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉