Пример канонического питон кода
github.com/...er/codereview/patching.py
Приложились: создатель питона Гвидо Ван Россум, пол дюжины гуглеров, энтузиасты из сообщества.
Интересно, у ДОУ код читабельнее?
github.com/...er/codereview/patching.py
Приложились: создатель питона Гвидо Ван Россум, пол дюжины гуглеров, энтузиасты из сообщества.
Интересно, у ДОУ код читабельнее?
61 коментар
Додати коментар Підписатись на коментаріВідписатись від коментарівА вот как нечто похожее можно сделать на нормальном языке программирования: stackoverflow.com/.../3560513/246677
Вполне кошерный код, учитывая что туда не нужно вносить правки каждый день. Кто умеет так писать, и понимать написанное — вполне может идти работать в Гугл.
После прочтения (и правки!!) инсталляционных кодов программ под Линукс, просто чтобы юзеру поставить готовую софтину — этот код читается просто как сказка Колобок.
Ниасилил патамушта стихи!
Есть много способов облагородить этот код:
— добавить коментариев
— разбить на функции с читабельными именами
— переименовать переменные используя читабельные имена
— написать его в ООП стиле используя классы и методы а не спагетти код над кортежами
— заюзать какую нибуть тулу по разбору заданной граматики в конце концов
Да, конечно, ООП делает код читабельней
Ну это от рук уже зависит.
Я бы сказал лет 40 назад уже была.
Очевидно что даже в контексте этого примера chunk.new_range выглядит читабельнее чем chunk[1].
Я предлагаю погуглить: wiki.python.org/...LanguageParsing
Вы такой зануда...
Будто вас заставляют сопровождать этот код
Меня просто поражает как люди в приступе религиозного фанатизма пытаются оправдать очевидный гавнокод.
Ну ты специально утверждаешь, что это «канонический код на питоне». Успешно троллишь, короче.
Его же Сам Гвидо писал.
Наглядно можно посмотреть на взгляды создателя на то каким он видит применение языка.
Товарищ, если ты считаешь код по моей ссылке правильно написанным, ок, это твой выбор, могу только посочувствовать. Пыжится и что-то там рефакторить что-бы тебе что-то доказать я не буду, мои примеры и посылы уже и так крайне очевидны.
Извини, бисер закончился.
Такое чувство что человек работал с Perl лет так двадцать, а потом в один день резко соскочил на Python !!!
то ты еще xml не видел :)
xml легко изучается в специализированных вьюерах с использованием xpath, а такое говнище не факт что skynet разгребет.
хз. я вот реально не люблю питон (языки без фигурных скобочек меня оскорбляют) но вполне понял что там написано — каша конечно, но разобрать можно
а вот к специализированным вьюверам у меня доверия нет
не каноничный, отступы в два пробела
мсье понимает)
это стандарт в гугле.
нет стандартов окромя PEP
Огромная функция, которую нужно разбить на 20 мелких
Но за счёт красоты и лаконичности питона этот код не так напрягает, как метод такой же длинны на джаве.
Посмотрите сорцы коре либы джавы, там все гораздо хуже :) не знаю, есть ли там код Гослинга, в каких-то местах, связанных с математикой должен быть.
Что не умаляет ни Гвидо, ни Гослинга. Обычно опытные зубры понимают, что код конвеншоны, паттерны и смеллзы — это только инструменты. Для начинающих — очень важны, они просто должны их знать и выполнять. А для синьоров — уже по желанию. Тем более, для BDFL, которые их сами выдумывают :)
И где в данном коде она проявляетсо? В отсутствие скобочек, которое превращает код в стену текста?
Поддерживаю. Что такого красивого и лакончиного то? Я понимаю сказать такое про тот же oCaml, но тут ничего интересного.
и? вполне читабельный код.
для сравнения могу предложить почитать парсинг дифов на любом другом языке ;)
или код того-же patch
Годик назад, один знакомый попробовал меня подсадить на питон, после 5 минут его изучения, я узнал, что вложеность блоков определяется кол-вом пробелов с начала строки , я бросил это изучения в сторону и вернулся к С++/С#.
Блин , ну я не знаю , пусть будет что угодно —
{
}
или...
begin;
end;
Но не пробельчики!
Как по мне этот синтаксис ужесен.
Я тоже думал что это жутко неудобно, но питон за счет этого получается менее массивным что-ли, но эта привычка сильно портит, у меня уже было пару раз когда я на Си писал что-то вроде
а потом долго думал почему функции не вызываются вместе, ведь форматирование правильноеНу и в таком форматировании, код нужно осторожно копипастить, чтоб отступы сохранились, т.е. кинуть код куда-то в чатик часто не вариант, т.к. обычно кушаются пробелы и потом хз как оно было изначально.
а все потому, что двоеточие забыли и точки с запятой не нужны тут xD
Это код на С/С++
www.communaute-gothique.fr/...ies/leonard.jpg
не обращайте внимания, это его очередной фейл в комментариях за два дня.
те код на плюсах вы отсутпами не форматируете
Форматирую, конечно.
Но,,, это нужно только для читабельности кода и к синтаксису языка не имеет отношения, и потом редактор делает это форматирование, с отступами, в автоматическом режиме.
Значит, в питоне отступы муляют, а в плюсах нет.
И на питоне все пишут в ed.
Логика-с
Ну вот так, мулят, даже не столько сами отступы, сколько их присутствие в синтаксисе языка.
И визуально определять блоки кода мне легче, при наличии каких то маркеров.
ну вот, теперь можно открывать холивар
spaces vs {}
я по началу тоже так отнесся, но потом проникся.
питон заставляет писать код немного по другому. мне кажется после питона, мой код на С++ стал намного проще и читабельнее.
if ( foo() )
{
. . . bar();
}
bar();
вот она — разница.
по скобкам + отступам. Только по отступам не удобно. Только по скобкам без отступов тоже.
А на сайте где-то есть функционал: «Utility to read and apply a unified diff without forking patch(1).» ?
Предложи патч с рефакторингом, «спасибо» скажут
Для начала этот код нужно понять.
Интересно, а у риалити_хакера код читабельнее?
Имхо, намного
А, ну тогда ок, можно спать спокойно
Чего же не показываешь?
скромность
толстый тролль
Я за правду!
пример кода по виду напоминает стихи шизофреника )
Ну, если бы были скобочки, было бы хуже:)