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

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.

主站蜘蛛池模板: 晋宁县| 昌乐县| 封开县| 湖北省| 古交市| 秭归县| 邳州市| 文成县| 邮箱| 安义县| 冕宁县| 平度市| 常熟市| 青岛市| 梁山县| 枣阳市| 福泉市| 井研县| 石渠县| 华亭县| 家居| 南投市| 江都市| 康马县| 墨脱县| 太白县| 宁乡县| 濮阳县| 邹平县| 东至县| 大丰市| 古交市| 名山县| 平江县| 克什克腾旗| 铅山县| 大庆市| 共和县| 深泽县| 芦山县| 高邑县|