Thursday, November 19, 2009

Немного про good practices

И Perl, и Python допускают наличие хвостовой запятой в списках и словарях. Но в питоне эта фича может оказаться важнее.

Например, где то в коде есть tuple:


c = (
'Japan',
'United Kingdom',
'Greece',
'Albania',
'Brazil',
'Russia'
);
Редактируя файл, мне захотелось отсортировать страны, благо в vim-е это делается простым выделением и командой :sort. Получаем:


c = (
'Albania',
'Brazil',
'Greece',
'Japan',
'Russia'
'United Kingdom',
);

Случайно забыв про запятую, сохраняем файл.
Никаких нареканий со стороны интерпретатора это не вызовет, т.к. питон автоматически склеивает смежные строки.
IMHO, это некоторое расхождение с питоновским слоганом "Explicit is better than implicit."

В перле все проще - упираемся в ошибку "String found where operator expected".

1 comment:

  1. Мне кажется, что тут все логично в Перле, но не логично в Питоне, может быть удобнее, но не логичнее =) c "Explicit is better than implicit" верно замечено

    ReplyDelete