官术网_书友最值得收藏!

Follow industry, team, and language conventions

Concepts, variables, and function names all just make sense when they follow conventions. Ask yourself, if you are working on a system about cars, what would you expect a variable called flower to be?

Coding style is arguably something that Go got right. For many years, I was part of the bracket placement and the tab versus spaces wars, but when switching to Go, all of that changed. There is a fixed, documented, and easily reproducible style—run gofmt, problem solved. There are still some places where you can hurt yourself. Coming from a language with unchecked exceptions, you might be tempted to use Go's panic() phrase; while possible, it is one of several conventions explicitly discouraged in the official Code Review Comments wiki (https://github.com/golang/go/wiki/CodeReviewComments).

Team conventions are a little bit harder to define, and perhaps sometimes to follow. Should a variable of the channel type be called result, resultCh, or resultChan? I have seen, and probably written, all three.

How about error logging? Some teams like to log errors at the point at which they are triggered, and others prefer to do so at the top of the call stack. I have a preference, as I am sure you do, but I have yet to see an overwhelmingly compelling argument for either.

主站蜘蛛池模板: 子洲县| 临沂市| 翁源县| 汉阴县| 筠连县| 安吉县| 永年县| 阿拉尔市| 文化| 通渭县| 神农架林区| 濮阳市| 津南区| 陆川县| 新营市| 章丘市| 灵武市| 龙山县| 黔西| 潜山县| 惠州市| 马山县| 同德县| 昔阳县| 兰溪市| 章丘市| 长汀县| 丰城市| 盈江县| 天峻县| 哈巴河县| 通辽市| 左云县| 洪洞县| 乌兰县| 华容县| 柞水县| 保靖县| 洛阳市| 兴山县| 北碚区|