Pull to refresh

Comments 15

Почему фейспалм? Я вот тоже IDE при кодинге на Python крайне редко использую, считаю это нормальным.
Да потому что мы — люди. А у каждого человека есть кошелёк Миллера. 4brain.ru/memory/_sem-pljus-minus-dva.php

И когда при очередном рефакторинге в авральном режиме с мутной головой и уставшим телом сложного участка кода без IDE забываешь поменять маленький кусочек (а блокнот тебе не высветит предупреждение, что ты, возможно, что-то забыл или не так делаешь), то через месяц, когда всё уже забудешь этот кусочек взорвётся на продакшене. И хорошо если потом так же с блокнотом быстро найдёшь проблему, что, оказывается, не тот аргумент берёшь, который надо, например, или запарываешь данные за пределами функции, потому что где-то что-то переименовал, а где-то не доглядел.

Вы считаете, что ездить на работу на лошади в большом городе (при наличии метро и личного авто) — нормально и практично? :)
Не думаете, что слишком самонадеянно и безответственно писать сложный софт, условно, для атомных станций и гордиться, что не пользуешься ни IDE, ни статическими анализаторами?
Даже в авральном режиме на кусок бизнес-логики пишется тест, который его проверяет, а простые ошибки у меня и синтаксический проверяльщик в саблайме/виме найдет. Плюс, при отладке удаленного кода зачастую куда проще зайти по ssh и поправить в виме строчку, чем искать, где в этой IDE плагин для удаленной отладки, что он требует и не платный ли.

Тут нет никаких понтов и гордости, просто IDE не должна лишнего думать за программиста, парсить код глазами куда полезнее. Особенно когда, например, углубляешься в код сторонней кривой библиотеки и весь код, причем с тормозами, покрывается унылыми подчеркиваниями и предупреждениями от flake8/pep8, когда это абсолютно бессмысленно и ни разу не помогает.

Я ни в коем случае не говорю, что IDE не нужна, просто надо разумно подходить к вопросу, а не становиться рабом средств разработки.
А уж сколько незабываемых впечатлений можно получить, когда в один прекрасный день IDE не справится с динамической природой Python, и что-то пропустит при рефакторинге. Авральном таком рефакторинге :) А потом этот авральный код на Python, условно, для атомной станции, в продакшн…
Человек, который не использует IDE, с большой долей вероятностью не понимает что такое ООП, т.к. основная сила IDE основана на ОО подходе к разработке.
Соответственно, если человек не понимает что такое ООП, то там появляются излишние сущности, большие уродливые контроллеры и т.д.
Наверное, со мной что-то не так, но я не вижу вашей смелой параллели между IDE и ООП. Понимание ОО-подхода не зависит от инструментов разработки, а основано на умении проводить связи между объектами реального и виртуального мира. Плюс, IDE за программиста «Книгу Четырех» не прочитает. А если она за него будет какие-то паттерны применять автоматически — лесом такую IDE.
IDE в сравнении с текстовыми редакторами предоставляет следующие возможности:
— предоставляет поиск класса по имени
— подсказывает интерфейс класса
— говорит о том, к какому классу в иерархии относится вызванный метод
— подсказывает, когда в аргумент подставляется объект не того типа
— показывает иерархию классов по базовому классу

т.е. если вы не чувствуете надобность в этих возможностях, то скорее всего вы не проектируете систему в соответствии с ООП. Пока что мой опыт показывает, что так оно и есть. Сколько людей любителей текстовых редакторов я видел, все они писали либо простые вещи, либо процедурный(с элементами ООП) не поддерживаемый код из-за его сложности.
Но однако, то что человек использует IDE не говорит что он не делает подобного.
Если программист глазами не видит и мозгами не помнит иерархию классов в своем приложении (или хотя бы в части, над которой он работает) — то с ним что-то не так. IDE тут ни разу ни при чем. Судя по примерам, которые вы приводите, и выводам, которые вы делаете, один из ваших основных языков — Java, в которой без классов действительно туго, но есть другие хорошие не-ООП подходы, посмотрите на тот же Erlang или Haskell. И код на них не неподдерживаемый, просто человеку, яростно придерживающемуся одной парадигмы, сложно переключить мозг на другую, вот и все.

P.S. Если уж человек в IDE пишет адский говнокод, то в текстовом редакторе, скорее всего, и подавно. А вот вариант наоборот практически не встречается.
| Если программист глазами не видит и мозгами не помнит иерархию классов в своем приложении (или хотя бы в части, над которой он работает) — то с ним что-то не так.
Тау думает только плохой программист. Хороший программист не должен помнить всё. В идеале, интерфейсы ему должны быстро всё сами рассказать. В идеале, любой программист команды должен очень быстро разобраться в работе приложения по интерфейсам.

| но есть другие хорошие не-ООП подходы, посмотрите на тот же Erlang или Haskell.
Пока что я писал лишь о ООП парадигме. Языки которые заточены под другое я не рассматривал пристально и каких либо выводов про работу с ними я делать не могу.
Первого докладчика зовут Первухин.
Прошу прощения! Опечатка исправлена.
Митап проводился 25 апреля, на тот момент контест шел полным ходом
пардон, дату Митапа не увидел
Sign up to leave a comment.