[newbies] sanity rules
Ivan Zakharyaschev
imz на altlinux.org
Вс Дек 17 03:09:27 MSK 2017
Hi!
У меня при общении с newbies сформулировались такие общие соображения о
том, к чему стремиться, о чём волноваться.
0. Не надо делать что-то непонятное, магическое.
(Если волнует непонятная магия, то можно спросить, что это, или спросить,
где про это узнать.)
1. Беспроблемность использования подготовленного пакета. Речь не идёт о
полной безошибочности, но ошибка, которую трудно отловить -- это
бОльшая проблема, и хорошо, если во время подготовки пакета её
удастся малыми силами предупредить.
(Более опытные мейнтейнеры могут подсказать, на что ради этого обратить
внимание во время подготовки пакета. Например, посмотреть в лог сборки.
Если волнуют какие-то предупреждения и непонятно, свидетельствуют ли они о
серьёзных проблемах, то можно спросить. Волновать должно всё непонятное --
ср.п.0.)
2. Беспроблемность для дальнейшей работы мейнтейнеров подготовленного
пакта, в т.ч. массовых изменений пакетов в Sisyphus "роботами".
(Важна понятность сделанного, когда другие будут читать ваши изменения
или роботы анализировать.
Важно удобство для разных возможных действий мейнтейнеров/роботов с
подготовленным исходным пакетом в будущем.
Важно, чтобы в будущем пакет требовал внимания (автоматически) тогда,
когда в нём что-то сломалось, пошло не так, как было проверено; и по
возможности -- только тогда, т.е. не требовать просмотра глазами каждый
раз. Когдя нет автоматических failures, когда что-то пошло не так, может
сложиться две плохих ситуации: каждый раз смотрим глазами, потому что
волнуемся: вдруг что-то пошло не так, и теряем силы и время или вообще не
смотрим, потому что нет сил, и пропустим настоящую ошибку -- ср.п.2.)
Печально, когда понимание этого теряется и разумное обсуждение сборки
пакетов заменяется какими-то догматическими спорами или тыканием пальцем
в другие пакеты, т.е. бесполезной тратой сил.
Пример:
Warning от компилятора может свидетельствовать о серьёзной ошибке
(например, использование функции без прототипа в C). Серьёзную ошибку не
надо оставлять в подготовленном пакете. (Ср. п.1.)
Если warning-ов не осталось, то для облегчения работы мейнтейнеров (п.2)
можно выставить -Werror. А то каждый раз придётся глазами проверять, нет
ли предупреждений (и при сборке новых версий, и при изменении сборочной
среды и требований по качеству к пакетам).
Если warning-и несерьёзные, но их мало, то проще сразу код поправить, чем
каждый раз о них думать. (Ср. п.2.)
--
Best regards,
Ivan
Подробная информация о списке рассылки devel-newbies