Эдак и "No taxation without representation" в экстремизмус запишут. Ну а Марсельезу с Варшавянкой и прочие военные марши и песни так странно что ещё не.
Запускать питон и питон-тесты через VSCode тот ещё квест правильно настройки набить. В джсон конфиг набить, до кучи. Были там и какие-то(не помню, пару лет назад как пробовал, может и поправили?) проблемы с нормальным парсингом кода при исопльзовании своих же библиотек. В IDEA/PyCharm/OpenIDE прямолинейно и удобно с нормальным UI вполне здорового человека. Вот удалённая отладка доступна только в Про(то есть недоступна в России), это да. Нормальная подсветка синтаксиса, навигация по коду.
Исходный топик ветки был про российский софт. Всё перечисленное - очень даже российский софт. Бывший российский, да. Но как раз отвечающий на вопрос что да, российский софт по факту а) вещь существующая и б) в мире очень даже востребован.
В силу разных причин(реально разных) такой софт нередко перестаёт быть российским и уезжает на какой Кипр, не в последнюю очередь от вполне денежных(и/или конвертируемым в оные; что бабло труднее отнять очень даже можно считать денежной причиной) выгод такому софту уехать на Запад, это да. Но это уже совсем другая тема, улетающая мигом в политоту. Сикорский, например, так то тоже российский авиаконструктор был, тоже уехавший(и даже по отдалённо схожим причинам).
угу, и ещё иногда втаскивают динамическую генерацию классов и функций. Вот тут то совсем врата ада можно разверзнуть если пропустить через ревью... что интересно - такую эзотерику тащили не джуны, и было это ещё до модности вкатунов.
так в итоге и пришёл к текущим личным воззрениям "пиши так, чтоб поддерживать потом могли и джуны - прямолинейно, с минимумом сложного; но сложное знай, на случай если всё же нужно, и чтоб предотвращать впихивание"
Отличаются тем, что исходно в России разработывавшееся таки остаётся "разработано в России". А потом уехало, да. Но историю это не отменяет, остётся "исходно разработано в России, до (подставить год) там и развивалось".
Проблема в том, что подсказки IDE ограничены. Особенно если данные на входе по типам верные, на выходе типы указанным соответствуют, а в середине верные преобразования - то линтеры и анализаторы промолчат. Особенно если типы широко написать(а этому IDE никак не помешает и волшебные инструменты не ругнутся).
Только вот когда в результате этих преобразований попытка запихнуть список как ключ словаря - то это как раз "базу языка знать нужно", а не ходить потом "а что эта ошибка обозначает?" спрашивать. Или когда всё выглядит верно, красным не помечено - только взял не ту библиотеку, потому что "IDE всё знает, импорт подсказала, LLM одобрила", и не работает как ожидалось.
И, сюрприз, не везде с отладчиком IDE подлезешь. Иной раз можно и с PDB зайти, а там подсказок то и нет.
Нет, понятно, что к джуну это не претензии, он не знает, его учить, ему помогать... но завышающие свой опыт то не в джунов целят.
кандидат на сеньора, который не знает как в словарь добавить значение; а положив - не замечает что не то положил. "запущу, IDE всё подскажет и подсветит, прогон ошибок выкинет, потом буду как-нибудь анализировать" вызывает сомнения как раз в способности анализировать и отлаживать.
Наверное это собеседующие плохие вопросы задают? Надо задавать "на поболтать", ведь сеньор питонодор он не про язык, не про базу, не про детали, он про концепции и обсуждения? А что потом эти концепции надо реализовывать и проверять на валидность - так на то пусть джуны язык зубрят?
Боромиру бы потребовалос 2 секунды. Сыну маминой подруги 3.
Удобно использовать таких прекрасных образцы идеалов, которые знать не знают, но сразу найдут, да и всё равно работать будут в другом месте и не столкнутся с не очень красивым, не очень удобным, не по стандарту кодом ни на ревью, ни в легаси базе, ни сами не наваяют. Жаль, что в их компаниях работать не получается, всё более в тех, где то и дело почему-то пролезает странное, и надо понимать что это и идти объяснять почему так не надо. Или оставлять, если в конкретных условиях годится, например, в Proof of Concept. Или сразу планировать под замену.
За множественное наследование в Python ногами не бьют?
Например, mixin-ы - тоже частный случай множественного наследования. Плюсы-минусы, усложняют понимание(могут и уменьшать), уменьшают копипасту(но это неточно). Инструмент. В хорошем исполнении ромба давать не должны, но тут как всегда можно довести и до ужаса.
Такой код может написать джун энергичный с горящими глазами. Узнал новую фишку языка - и написал, потому что красиво и новое. Это естественная часть роста навыка.
А другим это ревьювить. И, если пропустят через ревью не изменив, поддерживать.
Да, с кортежами это подвох, который лично я воспринимаю как повод посмотреть на знание языка глубже. А практически может вылезти при, например, отладке, вызвав недоумение "а где мои значения?". После чего разница и узнаётся.
Если спрашиваемый не знает именно кортеж там или генератор - да и ладно, то не определяющее, просто памятка "глубже вот этого уровня не заглядывал, ОК".
Не знает, как со словарями работать - уже хуже, как можно не работать со словарями в питоне? Джосны пресловутые перекладывать, запросы кидать или получать...
Не знает конструкцию вообще - жёлтая лампочка "а человек точно с питоном работал?" и повод спрашивать дополнительно по уровню "самую базу".
То есть я вот так - "это база и её всю наизусть знать надо" - не считаю. Но считаю что "это база плюс продвинутая база плюс детали". Базу знать надо, продвинутую очень стоит, детали временами стреляют. Ладно хоть не как в плюсах, не в ногу.
"И не зная (название языка) можно сказать, что (любой кусок кода) это плохой код, и почему ьтак делать не надо"
Компрехеншены это лаконичная форма формирования коллекции. "Не зная языка" утверждать что код с ними плохой... ну, показывает ровно незнание любого языка, да. И иногда попадет в плохой код. Или не попадает. А вот сказать, из незнания языка, "почему так делать не надо" - не выйдет.
И да, такие приколы и могут вести к "вот у тебя есть регрессионный автотест, который срабатывает через раз, какие могут быть тут приколы" потому что очерёдность запуска и влияние пропущенного на кодревью списка-по-умолчанию. Или double free в тест на плюсах загнать могут "ну это ж не разработка, зачем детали языка знать".
Нет, не "абсолютно все". Те же comprehension-ы - вполне валидные вещи, и место им в коде есть.
Ну и знать как можно написать плохой код, почему он плохой, и почему так делать не надо - это как раз чтобы в прод не попадал плохой код. Ведь код не только писать - но и коллег ревьювить(а им - тебя). И там может попадаться и что-то из примеров из статьи.
Чем спорное то, когда это исторический факт? Авиаконструировал в Российской Империи, в частности сделал серию тяжёлых бомбардировщиков Илья Муромец
А потом уехал. Тоже исторический факт.
Эдак и "No taxation without representation" в экстремизмус запишут. Ну а Марсельезу с Варшавянкой и прочие военные марши и песни так странно что ещё не.
Запускать питон и питон-тесты через VSCode тот ещё квест правильно настройки набить. В джсон конфиг набить, до кучи. Были там и какие-то(не помню, пару лет назад как пробовал, может и поправили?) проблемы с нормальным парсингом кода при исопльзовании своих же библиотек.
В IDEA/PyCharm/OpenIDE прямолинейно и удобно с нормальным UI вполне здорового человека. Вот удалённая отладка доступна только в Про(то есть недоступна в России), это да. Нормальная подсветка синтаксиса, навигация по коду.
как понимаю, главное чтоб
а) такой сервис давал такой доступ только и исключительно на этот ресурс
и
б) чтобы ресурс не попал вдруг в список
и первое придётся ещё доказывать если что, а второе предвидеть вовремя. Та ещё задачка для ясновидящих
Исходный топик ветки был про российский софт. Всё перечисленное - очень даже российский софт. Бывший российский, да. Но как раз отвечающий на вопрос что да, российский софт по факту а) вещь существующая и б) в мире очень даже востребован.
В силу разных причин(реально разных) такой софт нередко перестаёт быть российским и уезжает на какой Кипр, не в последнюю очередь от вполне денежных(и/или конвертируемым в оные; что бабло труднее отнять очень даже можно считать денежной причиной) выгод такому софту уехать на Запад, это да. Но это уже совсем другая тема, улетающая мигом в политоту. Сикорский, например, так то тоже российский авиаконструктор был, тоже уехавший(и даже по отдалённо схожим причинам).
угу, и ещё иногда втаскивают динамическую генерацию классов и функций. Вот тут то совсем врата ада можно разверзнуть если пропустить через ревью... что интересно - такую эзотерику тащили не джуны, и было это ещё до модности вкатунов.
так в итоге и пришёл к текущим личным воззрениям "пиши так, чтоб поддерживать потом могли и джуны - прямолинейно, с минимумом сложного; но сложное знай, на случай если всё же нужно, и чтоб предотвращать впихивание"
Отличаются тем, что исходно в России разработывавшееся таки остаётся "разработано в России". А потом уехало, да. Но историю это не отменяет, остётся "исходно разработано в России, до (подставить год) там и развивалось".
Проблема в том, что подсказки IDE ограничены. Особенно если данные на входе по типам верные, на выходе типы указанным соответствуют, а в середине верные преобразования - то линтеры и анализаторы промолчат. Особенно если типы широко написать(а этому IDE никак не помешает и волшебные инструменты не ругнутся).
Только вот когда в результате этих преобразований попытка запихнуть список как ключ словаря - то это как раз "базу языка знать нужно", а не ходить потом "а что эта ошибка обозначает?" спрашивать. Или когда всё выглядит верно, красным не помечено - только взял не ту библиотеку, потому что "IDE всё знает, импорт подсказала, LLM одобрила", и не работает как ожидалось.
И, сюрприз, не везде с отладчиком IDE подлезешь. Иной раз можно и с PDB зайти, а там подсказок то и нет.
Нет, понятно, что к джуну это не претензии, он не знает, его учить, ему помогать... но завышающие свой опыт то не в джунов целят.
кандидат на сеньора, который не знает как в словарь добавить значение; а положив - не замечает что не то положил. "запущу, IDE всё подскажет и подсветит, прогон ошибок выкинет, потом буду как-нибудь анализировать" вызывает сомнения как раз в способности анализировать и отлаживать.
Наверное это собеседующие плохие вопросы задают? Надо задавать "на поболтать", ведь сеньор питонодор он не про язык, не про базу, не про детали, он про концепции и обсуждения? А что потом эти концепции надо реализовывать и проверять на валидность - так на то пусть джуны язык зубрят?
"Скажите мне, Шура, как автоматизатор автоматизатору - Вы словарём то пользовались?"
Это не HR завышают свои навыки, а потом их подтвердить не могут.
Начинает звучть как КиШ
Боромиру бы потребовалос 2 секунды. Сыну маминой подруги 3.
Удобно использовать таких прекрасных образцы идеалов, которые знать не знают, но сразу найдут, да и всё равно работать будут в другом месте и не столкнутся с не очень красивым, не очень удобным, не по стандарту кодом ни на ревью, ни в легаси базе, ни сами не наваяют.
Жаль, что в их компаниях работать не получается, всё более в тех, где то и дело почему-то пролезает странное, и надо понимать что это и идти объяснять почему так не надо. Или оставлять, если в конкретных условиях годится, например, в Proof of Concept. Или сразу планировать под замену.
Например, mixin-ы - тоже частный случай множественного наследования. Плюсы-минусы, усложняют понимание(могут и уменьшать), уменьшают копипасту(но это неточно). Инструмент. В хорошем исполнении ромба давать не должны, но тут как всегда можно довести и до ужаса.
Не завышать знания лучше, чем завышать.
А коль завышать советуют и говорят "да все так делают" - то не удивляться спросу о знании деталей с уровней выше.
Такой код может написать джун энергичный с горящими глазами. Узнал новую фишку языка - и написал, потому что красиво и новое. Это естественная часть роста навыка.
А другим это ревьювить. И, если пропустят через ревью не изменив, поддерживать.
Да, с кортежами это подвох, который лично я воспринимаю как повод посмотреть на знание языка глубже. А практически может вылезти при, например, отладке, вызвав недоумение "а где мои значения?". После чего разница и узнаётся.
Если спрашиваемый не знает именно кортеж там или генератор - да и ладно, то не определяющее, просто памятка "глубже вот этого уровня не заглядывал, ОК".
Не знает, как со словарями работать - уже хуже, как можно не работать со словарями в питоне? Джосны пресловутые перекладывать, запросы кидать или получать...
Не знает конструкцию вообще - жёлтая лампочка "а человек точно с питоном работал?" и повод спрашивать дополнительно по уровню "самую базу".
То есть я вот так - "это база и её всю наизусть знать надо" - не считаю. Но считаю что "это база плюс продвинутая база плюс детали". Базу знать надо, продвинутую очень стоит, детали временами стреляют. Ладно хоть не как в плюсах, не в ногу.
"И не зная (название языка) можно сказать, что (любой кусок кода) это плохой код, и почему ьтак делать не надо"
Компрехеншены это лаконичная форма формирования коллекции. "Не зная языка" утверждать что код с ними плохой... ну, показывает ровно незнание любого языка, да. И иногда попадет в плохой код. Или не попадает.
А вот сказать, из незнания языка, "почему так делать не надо" - не выйдет.
Автоматизация - это тоже разработка.
И да, такие приколы и могут вести к "вот у тебя есть регрессионный автотест, который срабатывает через раз, какие могут быть тут приколы" потому что очерёдность запуска и влияние пропущенного на кодревью списка-по-умолчанию. Или double free в тест на плюсах загнать могут "ну это ж не разработка, зачем детали языка знать".
Нет, не "абсолютно все". Те же comprehension-ы - вполне валидные вещи, и место им в коде есть.
Ну и знать как можно написать плохой код, почему он плохой, и почему так делать не надо - это как раз чтобы в прод не попадал плохой код. Ведь код не только писать - но и коллег ревьювить(а им - тебя). И там может попадаться и что-то из примеров из статьи.
В дзене питона написано и что "один и только один способ сделать что-то". И три вида строк, а так-же циклы и comprehension-ы хором "ага, ага".