* [newbies] sanity rules
@ 2017-12-17 0:09 Ivan Zakharyaschev
0 siblings, 0 replies; only message in thread
From: Ivan Zakharyaschev @ 2017-12-17 0:09 UTC (permalink / raw)
To: devel-newbies
[-- Attachment #1: Type: text/plain, Size: 2463 bytes --]
Hi!
У меня при общении с newbies сформулировались такие общие соображения о
том, к чему стремиться, о чём волноваться.
0. Не надо делать что-то непонятное, магическое.
(Если волнует непонятная магия, то можно спросить, что это, или спросить,
где про это узнать.)
1. Беспроблемность использования подготовленного пакета. Речь не идёт о
полной безошибочности, но ошибка, которую трудно отловить -- это
бОльшая проблема, и хорошо, если во время подготовки пакета её
удастся малыми силами предупредить.
(Более опытные мейнтейнеры могут подсказать, на что ради этого обратить
внимание во время подготовки пакета. Например, посмотреть в лог сборки.
Если волнуют какие-то предупреждения и непонятно, свидетельствуют ли они о
серьёзных проблемах, то можно спросить. Волновать должно всё непонятное --
ср.п.0.)
2. Беспроблемность для дальнейшей работы мейнтейнеров подготовленного
пакта, в т.ч. массовых изменений пакетов в Sisyphus "роботами".
(Важна понятность сделанного, когда другие будут читать ваши изменения
или роботы анализировать.
Важно удобство для разных возможных действий мейнтейнеров/роботов с
подготовленным исходным пакетом в будущем.
Важно, чтобы в будущем пакет требовал внимания (автоматически) тогда,
когда в нём что-то сломалось, пошло не так, как было проверено; и по
возможности -- только тогда, т.е. не требовать просмотра глазами каждый
раз. Когдя нет автоматических failures, когда что-то пошло не так, может
сложиться две плохих ситуации: каждый раз смотрим глазами, потому что
волнуемся: вдруг что-то пошло не так, и теряем силы и время или вообще не
смотрим, потому что нет сил, и пропустим настоящую ошибку -- ср.п.2.)
Печально, когда понимание этого теряется и разумное обсуждение сборки
пакетов заменяется какими-то догматическими спорами или тыканием пальцем
в другие пакеты, т.е. бесполезной тратой сил.
Пример:
Warning от компилятора может свидетельствовать о серьёзной ошибке
(например, использование функции без прототипа в C). Серьёзную ошибку не
надо оставлять в подготовленном пакете. (Ср. п.1.)
Если warning-ов не осталось, то для облегчения работы мейнтейнеров (п.2)
можно выставить -Werror. А то каждый раз придётся глазами проверять, нет
ли предупреждений (и при сборке новых версий, и при изменении сборочной
среды и требований по качеству к пакетам).
Если warning-и несерьёзные, но их мало, то проще сразу код поправить, чем
каждый раз о них думать. (Ср. п.2.)
--
Best regards,
Ivan
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2017-12-17 0:09 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-17 0:09 [newbies] sanity rules Ivan Zakharyaschev
devel@ where you _can_ ask
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel-newbies/0 devel-newbies/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel-newbies devel-newbies/ http://lore.altlinux.org/devel-newbies \
devel-newbies@lists.altlinux.org devel-newbies@lists.altlinux.ru devel-newbies@lists.altlinux.com
public-inbox-index devel-newbies
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel-newbies
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git