Junior — Middle
Кадом усулҳо ё воситаҳоро барои ёфтани хатогиҳо ва ташхис кардани онҳо дар код ё системаи шумо истифода мебаред?
sobes.tech AI
Ҷавоб аз AI
Барои ёфтани ва ташхис додани хатоҳо дар Go, ман одатан чандин усулҳоро истифода мебарам:
- Логгирӣ бо истифода аз бастаи стандартии
logё китобхонаҳои пешрафта (масалан,zap,logrus). Логҳо кӯмак мекунанд, ки фаҳмем, ки куҷо ва чаро хато рух додааст. - Паник ва recover барои гирифтани норасоии ногаҳонии дар вақти иҷро.
- Дебаггери Delve (
dlv) — имкон медиҳад, ки барнома қадам ба қадам иҷро шавад, арзишҳои тағйирёбандаҳоро ва стеки занҷирро бинем. - Тестҳо бо санҷиши хатоҳо — навиштани тестҳои ягона, ки хатоҳои баргардонидашударо санҷиш мекунанд, кӯмак мекунад, ки мушкилотро дар марҳилаҳои аввал пайдо кунем.
- Профилинг ва пайгирӣ (
pprof) — барои ташхиси иҷроиш ва муайян кардани нуқтаҳои танг.
Маслиҳати истифодаи Delve:
# Рондани барнома бо дебаггер
dlv debug main.go
# Дар режими интерактивӣ, метавон нуқтаҳои қатъӣ гузошт, тағйирёбандаҳоро дид
(dlv) break main.main
(dlv) run
(dlv) print myVar
Ин усулҳои ҳамаҷониба кӯмак мекунанд, ки хатоҳоро зуд пайдо ва ислоҳ кунем.