最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

桀驁不馴的代碼又搞事情?我找來 10 個(gè)開源項(xiàng)目幫你馴服它們

2021-10-14 13:35 作者:HelloGitHub  | 我要投稿


你的編程能力從什么時(shí)候開始突飛猛進(jìn)?

看到這個(gè)問題,我陷入了沉思。我開始回憶過往的編程經(jīng)歷...貌似我的編程能力沒有突飛猛進(jìn)過!但如果說被罵和嫌棄的次數(shù)變少就算是進(jìn)步的話,那么我“突飛猛進(jìn)”的轉(zhuǎn)折點(diǎn)就應(yīng)該是:自從我看得懂代碼的報(bào)錯(cuò)和異常,不拿白癡的問題找我?guī)煾岛缶秃苌侔ちR了。從那以后我就開始自己解決代碼的 BUG 和問題,然后被“委以重任”開始獨(dú)立開發(fā)模塊和負(fù)責(zé)項(xiàng)目了。自此我也算是吃上了程序員這口飯,感謝師傅沒有放棄我~


如果說代碼是一匹桀驁不馴的野馬,一開始要先認(rèn)識(shí)它不能“指鹿為馬”,也就是搞懂語法能看懂代碼。然后多數(shù)情況下運(yùn)行代碼就會(huì)出錯(cuò),所以需要先馴服它。剛開始可以先:

  1. 嘗試定位問題,把關(guān)鍵步驟的變量輸出出來
  2. 學(xué)會(huì)用 IDE 調(diào)試代碼,弄清楚每一步的值
  3. 拿著異常的關(guān)鍵字:錯(cuò)誤代碼、異常類別,去問搜索引擎

但如果是線上運(yùn)行著的代碼、需要在服務(wù)器上找問題、需要在真機(jī)上調(diào)試,那上面的方法就很難搞了。剛找到通往成功的鑰匙,就發(fā)現(xiàn)鎖換了。


不怕!今天 HelloGitHub 帶來的開源項(xiàng)目,助你全方位搞定桀驁不馴的代碼,讓 BUG 無處遁形。

更好用的調(diào)試工具

編程語言都自帶代碼調(diào)試工具(Debugger),比如:C/C++(GDB)、Python(pdb)、Java(JDB)、LLDB 等,這些工具常用于服務(wù)器端調(diào)試代碼。下面這些開源項(xiàng)目比自帶的調(diào)試工具:操作更加簡單、信息展示更豐富、更加人性化,好用的調(diào)試工具能夠更加方便地調(diào)試代碼,定位到問題。

注意:不要在服務(wù)器上調(diào)試線上代碼,風(fēng)險(xiǎn)巨大!

1、dbg-macro(C++)

Star:1.7k|語言:C++

兼容 C++11 的 header-only 單個(gè)頭文件的打日志方式調(diào)試庫。它提供了比 printf 和 std::cout 更好的宏函數(shù)。特點(diǎn):

  • 美觀的彩色輸出
  • 支持基礎(chǔ)類型和 STL 容器類型的輸出
  • 除了基本信息外,還輸出變量名和類型


另外 Python 也有類似功能的庫:PySnooper

2、pudb(Python)

Star:2.2k|語言:Python

支持代碼高亮的 Python 命令行可視化調(diào)試器。棧、斷點(diǎn)、變量動(dòng)態(tài)實(shí)時(shí)更新,支持 VIM 的操作方式,還兼容 pdb 的某些命令,更容易上手。


3、pylane(Python)

Star:292|語言:Python

Python 進(jìn)程注入和調(diào)試工具。可以直接進(jìn)入正在運(yùn)行的 Python 進(jìn)程,動(dòng)態(tài)注入或執(zhí)行代碼片段。


4、arthas(Java)

Star:27.3k|語言:Java

簡單易用的命令行 Java 診斷工具。支持 JVM 進(jìn)程和資源監(jiān)控,還能展示 GC、JDK 版本等信息,無需增加代碼就可以加入日志,幫助快速定位問題。當(dāng)線上出現(xiàn)了奇怪的異常時(shí),無需發(fā)版就能截獲運(yùn)行時(shí)的數(shù)據(jù),包括參數(shù)、返回值、異常、耗時(shí)等信息。


5、delve(Go)

Star:17.1k|語言:Go

簡單且強(qiáng)大的 Go 源碼調(diào)試器。支持線程和 goroutine,功能齊全。



目前很多 IDE 都支持遠(yuǎn)程調(diào)試?yán)玻ɑ谏鲜鲰?xiàng)目實(shí)現(xiàn)),這里就不再贅述了,主要是我沒用過 IDE 遠(yuǎn)程調(diào)試。

移動(dòng)端的調(diào)試工具

PC 端最常用的 Web 調(diào)試工具應(yīng)該是 Chrome 瀏覽器的開發(fā)工具啦。


下面介紹的開源項(xiàng)目幫你開啟移動(dòng)端的“開發(fā)者工具”,全圖掛那種!

不用盲猜啦,全圖的感覺真爽。

6、eruda(手機(jī)網(wǎng)頁)

Star:11.2k|語言:JavaScript

專為手機(jī)網(wǎng)頁設(shè)計(jì)的前端調(diào)試工具。類似手機(jī)端迷你版開發(fā)者模式,可用于在手機(jī)端調(diào)試頁面。主要功能包括:顯示 console 日志、檢查元素狀態(tài)、捕獲 XHR 請(qǐng)求、顯示本地存儲(chǔ)和 Cookie 等信息


7、FLEX(iOS)

Star:12.6k|語言:Objective-C

iOS 應(yīng)用上的調(diào)試工具。通過它你幾乎可以查看應(yīng)用的所有狀態(tài)并修改任意組件的數(shù)值。比如:調(diào)整布局、瀏覽文件、查看網(wǎng)絡(luò)請(qǐng)求歷史、本地?cái)?shù)據(jù)庫等


8、DoraemonKit

Star:18k|語言:Java

支持多種客戶端的調(diào)試工具。它功能強(qiáng)大、接入方便、便于擴(kuò)展,能夠讓你在 Android、iOS、小程序等移動(dòng)端應(yīng)用,快速接入常用的調(diào)試、輔助開發(fā)、性能檢測(cè)、視覺輔助等工具。


9、insomnia

Star:18.1k|語言:JavaScript

支持 API、GraphQL、REST、gRPC 的調(diào)試工具,請(qǐng)求接口的桌面應(yīng)用。不僅有簡約漂亮的界面,還支持 Windows、Linux、macOS 主流操作系統(tǒng)。


又多了一個(gè)奇怪的工具

調(diào)試代碼也好,應(yīng)用開掛也罷。都是為了找到問題原因,然后解決問題。

那么能遠(yuǎn)程協(xié)助下嗎?


10、termpair

Star:1.2k|語言:Python

能夠在命令行開啟遠(yuǎn)程協(xié)助的工具。原理是命令行啟動(dòng)了一個(gè) Web 服務(wù),然后生成分享用的鏈接。最后只要拿到鏈接就能通過瀏覽器,遠(yuǎn)程操作服務(wù)器了。有了它再遇到問題,求助大佬就方便多了。

# 安裝pip install termpair# 啟動(dòng)服務(wù)termpair serve# 生成遠(yuǎn)程控制終端的鏈接termpair share


最后

想要馴服桀驁不馴的代碼,不是一件容易的事情。我的經(jīng)驗(yàn):

先定位問題,然后驗(yàn)證想法復(fù)現(xiàn)問題,最后在考慮解決方案。

弄懂每一行代碼,知曉復(fù)雜系統(tǒng)下的數(shù)據(jù)流向和狀態(tài)。

這期介紹的開源項(xiàng)目都是用來輔助你找到 Bug、定位問題的工具,有了它們相信你假以時(shí)日,馴服代碼的能力定會(huì)突飛猛進(jìn)。編程能力起飛!


以上就是本期的全部內(nèi)容,這里是 HelloGitHub 分享 GitHub 上有趣、入門級(jí)的開源項(xiàng)目。感謝您的閱讀和支持,求贊、分享,讓優(yōu)秀的開源項(xiàng)目被更多人發(fā)現(xiàn)和喜歡。

桀驁不馴的代碼又搞事情?我找來 10 個(gè)開源項(xiàng)目幫你馴服它們的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
平武县| 仙桃市| 三河市| 永宁县| 全椒县| 云浮市| 瑞金市| 岐山县| 漯河市| 津南区| 阳信县| 新乐市| 柳江县| 磴口县| 汉寿县| 上思县| 绥化市| 光山县| 萨嘎县| 常山县| 孟连| 房山区| 上栗县| 盘锦市| 台前县| 兰州市| 乐东| 利津县| 陵川县| 新巴尔虎左旗| 邢台县| 湖南省| 新疆| 和静县| 视频| 丹寨县| 南郑县| 读书| 庐江县| 博客| 呼图壁县|