LINUX.ORG.RU

История изменений

Исправление kaldeon, (текущая версия) :

[Docker Compose] ж, вроде как, одна из икон того, что сделано на Go.

Примерно как Notepad++ икона того, что сделано на C++.

Чтобы быть нейтральными, оставим Docker Compose, но добавим ещё, к примеру, Caddy [1].

Только что произвёл подсчёты:

Docker Compose: 722 функции, возвращающие ошибку, 5,212 возвратов, учитывающих ошибку, и 835 простых «return err.»

Caddy: 920 функций, возвращающих ошибку, 9,208 возвратов, учитывающих ошибку, и 688 простых «return err.»

Это даёт право утверждать, что «return err» - это нечастый метод.

Команда Go ранее уже приходила к подобному выводу:

«We recently scanned all the open source projects we could find and discovered that this snippet [if err != nil {return err}] occurs only once per page or two, less often than some would have you believe.» [2]

Считал так:

# no of err-ret funcs
% find . -type f |9 grep '\.go$' |cat `{cat} |9 grep '^func' |9 grep 'error.? {$' |wc -l

# no of err-aware rets
% find . -type f |9 grep '\.go$' |cat `{cat} |ssam -e 'x/^func.+error.?.{\n([^}].*\n|\n)*}\n/' |9 grep '^	*return( |$)' |wc -l

# no of ret err
% find . -type f |9 grep '\.go$' |cat `{cat} |9 grep -n '^	*return.* err$' |wc -l

[1]: https://github.com/caddyserver/caddy

[2]: https://go.dev/blog/errors-are-values

Исходная версия kaldeon, :

[Docker Compose] ж, вроде как, одна из икон того, что сделано на Go.

Примерно как Notepad++ икона того, что сделано на C++.

Чтобы быть нейтральными, оставим Docker Compose, но добавим ещё, к примеру, Caddy [1].

Только что произвёл подсчёты:

Docker Compose: 722 функции, возвращающие ошибку, 5,212 возвратов, учитывающих ошибку, и 835 простых «return err.»

Caddy: 920 функций, возвращающих ошибку, 9,208 возвратов, учитывающих ошибку, и 688 простых «return err.»

Это даёт право утверждать, что «return err» - это нечастый метод.

Команда Go ранее уже приходила к подобному выводу:

«We recently scanned all the open source projects we could find and discovered that this snippet occurs only once per page or two, less often than some would have you believe.» [2]

Считал так:

# no of err-ret funcs
% find . -type f |9 grep '\.go$' |cat `{cat} |9 grep '^func' |9 grep 'error.? {$' |wc -l

# no of err-aware rets
% find . -type f |9 grep '\.go$' |cat `{cat} |ssam -e 'x/^func.+error.?.{\n([^}].*\n|\n)*}\n/' |9 grep '^	*return( |$)' |wc -l

# no of ret err
% find . -type f |9 grep '\.go$' |cat `{cat} |9 grep -n '^	*return.* err$' |wc -l

[1]: https://github.com/caddyserver/caddy

[2]: https://go.dev/blog/errors-are-values