[Moscow.pm] Объективные критерии качества Perl кода

Роман Юсуфханов r.yusufkhanov на gmail.com
Чт Фев 11 12:14:19 PST 2016


Как по мне, так маниакальностью попахивает и избыток необъективности )) 

С ув. Роман Юсуфханов r.yusufkhanov на gmail.com <mailto:r.yusufkhanov на gmail.com>
моб.: +79310075149



> 11 февр. 2016 г., в 17:37, Ivan Petrov <i.petro.77.00 на gmail.com> написал(а):
> 
> 
>>> вот этот маниакальный вынос констант в константы мне не нравится.
> 
>> Непонятно в чём тут видится маниакальность и в чём суть аргумента "мне не
>> нравится".
> 
> маниакальность - это когда выносят константы которые в виде числа
> читаются лучше чем в виде текстового идентификатора.
> 
> 
> допустим широта и долгота
> 
> croak "Неверная долгота" unless $lon >= -180 and $lon <= 180;
> croak "Неверная широта"  unless $lat >= -90  and $lat <= 90;
> 
> Тут в коде стоит 4 магических числа (90, -90, 180 и -180), но я
> утверждаю что вынос их в константы будет вредить коду.
> 
> подобных примеров привести можно массу
> 
> int($interval / 3600)
> int($interval / 86400)
> 
> константа 3600 например сама за себя говорит что она означает.
> равно как и константы 90, 180, 270, 360, 60, 3600, 86400, 24, 1900,
> 
> 
> Пи - особый случай. 3.1415926 сразу дает понять что это пи и если в
> коде встречается не более пары раз на экран, то выносить ее в
> константы как минимум не полезно.
> если же код - какая-то голимая математика через слово вспоминающая PI,
> то тут конечно можно и константу определить (экспортировать).
> 
>> Однако если говорить о Perl::Critic, то он настраивается под себя конфигом, а
>> сейчас я правлю утилиту так чтобы можно было даже на каждый проект отдельный
>> конфиг иметь
> 
> да я не вашу утилиту обсуждаю, а некий "общепринятый паттерн
> хорошести"
> 
> :)
> -- 
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org

----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20160211/b93e27e4/attachment.html>


Подробная информация о списке рассылки Moscow-pm