重要的編程課程調試建議
在2012年秋天,我走進了我的研究生顧問辦公室,并問她推薦我參加哪個計算機科學課程。我解釋說我是一個完整的編程新手。她建議學習C編程。在參加一些講座后,我發現我在這個介紹性課程中發言的大多數學生都有一些先前的編程經驗。六周和80小時后,我退出了課程。
進入2013年春季學期。我注冊了一個更輕松的計算機科學課程,通過網絡介紹了計算機編程。我通過課程的第一季度,執行HTML和CSS,輕松執行。然后,我們啟動了JavaScript(JS)。我以前的計算機科學課程的持續焦慮和壓力的感覺以全面返回。在學期下降到太晚了,可以放棄課程,所以我要求一位朋友尋求幫助。
一天下午他通過我的JS代碼了解了我,并解釋了如何在這里和那里在這里添加一些代碼,以測試功能是否按預期工作。他向我展示了什么是一種非常基本的調試形式,識別和刪除計算機硬件或軟件的錯誤的過程。他和我也不了解這60分鐘的輔導會議可能在我的職業軌跡上的影響。回顧一下,這不是我在計算機科學和技術中學到的最重要的課程。
如果您之前從未寫過任何代碼,請想象您的任務是繪制完美的鳥類。每次完成繪圖并將其轉向老師時,老師都會立即決定是否是正確的或不正確的(即二元結果)。老師每次都沒有完美時會撕掉這篇論文。如果你問老師有什么問題,他們會以外語(即計算機錯誤語言)向您解釋。最終,在老師幾十天的嘗試后,他們可能接受你的繪畫,你的分數來自錯誤糾正。讀過這個故事,你可能不會認為我的下一個陳述是如此大膽。
學術界中的任何內容都沒有測試您的耐心等能力,以承受不斷拒絕的能力,而不是學習編寫代碼。
學習代碼時唯一提供安慰的是,如果您了解調試的基本面。現在,當我畫一只鳥時,如果喙看起來好,那么如果顏色是合適的,那么如果顏色是合適的,那么如果尺寸有意義的話,則會提供反饋。通過所有的反饋,您更有可能讓您的提交是正確的,而無需如此多的拒絕。
無論您是定期寫代碼,調試的基礎都非常有用。每當您需要使用任何類型的軟件應用程序或工具時,它們都適用。根據我的技術經驗,這是我最喜歡的各種軟件應用程序和工具的調試技巧和技巧列表。
使用Web應用程序
Web應用程序是用戶通過Web瀏覽器訪問的計算機程序。常見的Web應用程序是Facebook,Gmail和Salesforce。如果您使用Web應用程序遇到問題,則通常可以使用以下之一解決問題:
- 嘗試一個不同的瀏覽器。各種功能可能無法在某些瀏覽器中使用
- 關閉插件。插件可以影響瀏覽器中的Web應用程序
- 清除Web瀏覽器中的緩存
- 重新啟動Web應用程序
- 檢查問題是否特定于您的應用程序版本。
- 確認您擁有的安全角色。某些功能可能不可見,因為您沒有權限。
- 重啟你的電腦
導入數據文件
將數據文件(例如XLS,CSV,PDF等)導入Web應用程序或在一段代碼中是一個常見任務。常見問題往往與以下相關關系:
- 檢查列名稱引用是否正確。它們可能是區分大小寫的。
- 刪除無法識別的任何字符。嘗試在UTF-8,UTF-16或ASCII中編碼文件。
- 注意正在剝離領先的零和/或領先的零。檢查數據類型,無論是字符串,float還是整數。
- 從數據中刪除前導和尾隨空格
- 檢查文件是正確的文件類型(例如,XLS,CSV,PDF,JPG)
- 確認列中的所有值都在接受的規則中。某些列需要某些數據類型(例如,字符串,整數等)和/或它們可能需要在受控列表中存在該值(例如,“紅色”和“藍色”在顏色列下接受)
- 在導入之前刪除任何空行
- 導入后的電子郵件通知可能會發送到您的垃圾郵件文件夾
所有編程語言
- 檢查整個腳本中的變量值,以查看它們是如何改變的
- 在函數中打印出文本,以測試是否在執行它們時
- 使用集成的開發環境(IDE)
- 在您的代碼中使用大量評論
- stackoverflow和谷歌是你的朋友
- 檢查您正在使用的編程語言或庫的哪個版本。在版本之間可以大大改變。
- 將冗長的代碼分解為更短的片段。例如,而不是用巨型JSON字符串測試代碼,而是嘗試在小子集上測試它。更好的是,創建自己的mini-json字符串來測試事物。
- 為每行代碼逐步記下計算機的操作。Python導師提供了一個偉大的視覺,逐行瀏覽代碼執行行。Web工具適用于Python,JavaScript,Java,C和C ++。
- 檢查有人是否為您的特定用例創建了一個包,可以讓生活更輕松。例如,Pandas中的操縱數據比使用本機Python更容易。
在JavaScript中編程
- 在函數中使用console.log()打印文本或變量值來測試它們是否在腳本中執行
- 經常清除瀏覽器緩存
- 嘗試不同的Web瀏覽器 - 插件可以干擾代碼
- 升級您的Web瀏覽器 - 可能無法支持舊版本
在Python中編程
- 對象名稱區分大小寫(例如,“變量_Name”與“變量_Name”不同)
- 密切關注錯誤消息。他們通常解釋這個問題開始的行號。
- 檢查它是一個python v2與python v3更改
- Python有很棒的文檔
在SQL中編程
- 測試腳本時,利用限制(limit)獲得更快的性能
- 檢查是否存在特殊的語法規則或限制由于您正在使用的SQL數據庫。例如,MySQL使用#開始注釋行,而PostgreSQL使用 - 用于注釋
- 不要將表格或可變的1個保留字命名
- 通過在Excel中的數據子集上復制預期的操作,確認輸出表是正確的。
最重要的調試建議
當它來學習計算機科學和編程時,我希望我的教授強調了學習調試代碼的重要性。我希望我的提示和技巧可以減少寫作代碼時的焦慮和挫折。哦,我挽救了最后的建議。
如果您無法解決問題,請睡在其上并稍后返回。
嚴重地。壓力較少,新的透視可以幫助您在幾分鐘內識別解決方案,而您在前一天花費的時間。此建議再次為我和時間支付利息。前一天,我在JS腳本上度過了5個小時。幾天后,我回到了問題,快速了解到,當我重新打開瀏覽器時,這是一個緩存問題。當沒有時間的時候,這個建議不起作用。小心,拖延者!
原文鏈接:
https://towardsdatascience.com/the-most-important-programming-lesson-62467a9a4150