devel@ where you _can_ ask
 help / color / mirror / Atom feed
* [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