IDEA пора закапывать?

    В этой статье я хочу поднять тему старения компаний и извечный вопрос: что делать простым пользователям? На примере IDEA. С графиками деградации и загнивания.

    Тем, кто интересуется теорией, советую ознакомиться с недавно опубликованной замечательной статьёй "Биологические предпосылки деградации компаний". Я же хочу обсудить вполне конкретную ситуацию, как пример того, когда хорошие вещи начинают отдавать неприятным душком.

    Данная история началась для меня с того, что на рынке появилась серьезная IDE для моего любимого Python — это PyCharm. В JetBrains, видимо, поняли, что у них хорошо получается делать IDE, а все IDE чем-то похожи, и, в общем, почему бы не захватить этот интересный рынок чуть более чем полностью. Как бы там ни было, в итоге помимо IntelliJ IDEA на свет появилось много замечательных IDE: PhpStorm, PyCharm, RubyMine, WebStorm, AppCode, CLion, DataGrip, Rider — вот скромный список с официального сайта, и, судя по слухам, JetBrains не планирует останавливаться.

    Хочу заметить, что я считаю PyCharm не только лучшей, но и в принципе единственной на сегодняшний день вменяемой IDE для Python. И я считаю, что мне очень повезло, что этот продукт появился на свет. Какая радость забыть обо всех костыльных IDE и куцых редакторах, и перейти на PyCharm! Когда всё работает из коробки, это даёт замечательное чувство сосредоточения. Склоняешься над кодом, как старый часовщик, и со всей тщательностью и скрупулёзностью погружаешься в свою задачу. И ничто не отвлекает. И не лень протянуть руку за нужным инструментом, когда всё под рукой.

    Пока я занимался своими делами, рос профессионально, компания JetBrains тоже росла, и очень активно. И если «рост» одного человека — это более или менее налаженный и всем понятный процесс, то рост компании — это большой вызов. Превращение маленького сплоченного коллектива в организацию из сотен человек — дело очень рискованное. И, в конце концов, даже если рост проходит успешно, от того маленького коллектива, как правило, практически ничего не остаётся. Компания теряет свою душу. Старые идейные сотрудники устают от однотипных задач и даже частично разбегаются. Новые приходят за высокооплачиваемым местом в стабильной и успешной компании, и на их фоне идейных становится всё меньше. Управлять компанией становится сложно, начинается бюрократизация, стандартизация процессов, и прочее. Новые цели и планки требует привлечения (или выращивания) маркетологов. Начальники всё меньше занимаются разработкой и всё больше менеджментом. Появляются новые амбициозные идеи и проекты, на которые начинают тратить львиную долю самых ценных ресурсов, а старые проекты превращаются в молчаливых грустных лошадок, тянущих всю эту компанию.

    Одним из дурных знаков для меня стала смена иконок. Я любил старые иконки, они были очень детально прорисованные и потому хорошо различались зрительно. Но кто-то решил, что сейчас в моде плоские минималистичные иконки. Потом изменилась иконка самой IDE, и мне стало сложно отличить PyCharm от терминала в панели задач. Так в мой инструмент пришел маркетинг, и сделал мою рабочую среду красивее, но менее удобной.

    Вторым (не помню, было ли это до или после иконок) дурным знаком стала смена лицензионной политики. Нет, я не против платить за хороший продукт. Просто это стало сигналом того, что теперь больше внимания будет уделяться доходам компании. А значит, меньше внимания будет уделяться качеству и моим потребностям.

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

    И вот, наконец, случилось то, чего я боялся. Из моего инструмента всё чаще стали вылезать баги. Сначала это было похоже на досадные случайности. Потом стало очевидно, что бантики интересуют компанию больше, чем исправление значимых ошибок. Затем стали обнаруживаться такие ошибки, которые уже прямо говорят о не самом высоком качестве кода (или рук). И вот, сегодня я выяснил, что в структуре класса в некоторых случаях не отображаются унаследованные атрибуты. Какая досада, я шарю рукой вокруг себя, но не могу нащупать нужный инструмент. И уже как минимум полгода, а может и больше, никто не торопится исправить это. А я всё это время шарил рукой, и не мог понять, почему инструмент всё реже помогает и всё чаще мешает мне.

    Я не люблю опирать свои выводы на эмоции, и поэтому решил поискать хотя бы немного объективных фактов. Благо, у JetBrains есть замечательный продукт YouTrack, в котором все ходы записаны. А ещё там можно создавать отчеты. Я создал отчёт Resolved vs New/Reopened Rate для продукта PyCharm с фильтром «Type: Bug», и получил вот такой красивый график:



    График красив, но в нашем случае совершенно бесполезен. На первый взгляд всё равно: команда работает, баги открываются и закрываются. Но мне кажется, что за этим диким разбросом не видно истинной картины (еще там можно включить режим «Grouped», который немного проясняет, но все еще не убеждает). Эффективность анализа данных напрямую зависит от того, насколько удачно выбран способ представления данных. Чтобы разобраться в этих данных, для начала я импортировал их в LibreOffice.

    Незатейливый JS скрипт экспорта данных в формат CSV на случай если вдруг кто-то захочет поиграться со статистикой
    // Replace ID in URL.
    $.getJSON(
        'https://youtrack.jetbrains.com/rest/current/reports/237-79?fields=reportData,oldData',
        function(data){
            var groups = data.reportData.groups;
            var output = '';
            for (var i = 0; i < groups.length; i++) {
                var el = groups[i];
                output += el.timestamp + ',' + el.positive + ',' + el.negative + '\n';
            }
            console.log(output); 
        }
    );
    


    Полученные данные я просуммировал по годам, чтобы избавиться от дикого разброса, и получилась вот такая понятная картинка.



    Теперь отчетливо видно, что каждый год багов открывалось больше, чем закрывалось. Причем количество незакрытых багов скорее идёт на увеличение, чем на уменьшение. Но самый интересный факт, не отраженный в этой диаграмме, состоит в том, что незакрытые баги никуда не деваются, а накапливаются. Поэтому, чтобы увидеть картину во всей своей красе, следует построить график с накоплением.



    Вот оно — моё смутное сомнение, материализованное в диаграмме. Количество багов росло всё это время. И их стало аж три тысячи. Если профильтровать тикеты запросом вида Type: Bug State: Open,Submitted,{In Progress}, то их столько и будет: «Found 3009 issues.»

    Не надо быть бабой Вангой, чтобы предсказать, что для других IDE этой компании будет примерно такая же картина.

    IntelliJ IDEA (удивительно отлаженный и равномерный процесс накопления багов):



    RubyMine, PhpStorm, WebStorm ол тугезер:



    Есть такая забавная байка, которая гласит примерно следующее: когда проект растёт и обрастает функционалом, количество багов в нём тоже растёт прямо пропорционально количеству функций, и это нормально. Поскольку эта история довольно популярная, я потороплюсь сразу же возразить. Нет, это не нормально по нескольким причинам. Во-первых, недоделанный функционал — плохой функционал. А во-вторых, мы с вами, как программисты, прекрасно понимаем, что добавление новых фич порождает баги не только в новом функционале, но и в старом. И чем больше этих багов накапливается, чем реже делается рефакторинг с целью их тотального искоренения — тем больше проект начинает напоминать «нечто с ручками».

    Однажды JetBrains победил Eclipse. Те, кто пользовался Eclipse, наверное, помнит, каким ужасным он стал, когда несвязанные друг с другом разработчики стали порождать несвязанные и глючные плагины. Чем больше эти плагины обрастали функционалом, тем более глючными они становились. IDEA, в отличие от Eclipse, разрабатывалась внутри одной команды, и у них была возможность сделать IDE согласованной и более или менее одинаково неглючной со всех сторон.

    Теперь, когда JetBrains стал неприлично большим, согласованность будет стоить гораздо дороже. И если все главные умы компании, устав от рутины IDE-строительства, перестанут придумывать новые способы делать IDE еще лучше, и переключатся на новые интересные и амбициозные проекты, как язык Kotlin, тогда IDEA ждёт неминуемая деградация.

    На самом деле, я думаю, появление других IDE на основе IDEA — это было начало конца. Нет, не компании, конечно же. Такой огромный маховик будет крутиться еще долго. Это конец того продукта, о котором компания может честно заявить: «это то, что мы умеем делать хорошо».

    Когда производитель переходит от стадии раскрутки к стадии снимания сливок, от былого качества остается лишь брэнд. А что делать нам — простым разработчикам? Снова искать альтернативы? Уходить в монахи вимеры? Или пилить свою IDE с блэкджеком и плагинами? У меня нет ответа на этот вопрос. Надеюсь, он есть у кого-то из читателей.

    PS: Большое спасибо разработчикам из JetBrains за их замечательные продукты. Искренне желаю вам успехов в любых начинаниях, и в глубине души всё же надеюсь, что вы найдёте способ привести в порядок текущие проекты.

    PPS: Понимаю, вопрос дискуссионный, и наверняка найдется много людей, несогласных с моим мнением. С кармой я уже попрощался ) И всё же, надеюсь на конструктивные комментарии.
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 521
      • 0
        Следует сначала создать отчет: https://youtrack.jetbrains.com/reports/resolveRate/create
        а затем заменить ID отчета (237-79) на свой.
        • 0

          У меня никак не получается сделать отчет на такой большой рендж. Может поделитесь сырыми данными?

          • +1
            На какой продукт?
            Я делал вот так

            • 0

              На Idea, попробую добавить фильтрацию по типу.

              • +1

                Окей, помогло.


                http://imgur.com/a/X3EmI


                Так вот, репортили всегда больше чем фиксили :)

                • 0
                  Не знаю почему, но у меня картинка получается более размазанная.
                  Ну в общем о том и речь, что репортов больше.
                  • 0
                    Можно предположить что там есть и дубликаты, не воспроизводимые или просто никем не обработанные, но на самом деле исправленные баги.
                    Вопрос к тестировщикам из JetBrains.
                    • 0
                      Можно предполагать всё что угодно, но факт остается фактом: среди этих задач есть серьезные проблемы, которые не исправляются годами.
      • +37
        У вас в посте уже все написано: дейтвительно, в любом живом и развивающемся проекте количество багов и фича реквестов растет пропорционально размеру кодовой базы. Вот если их количество вдруг начинает уменьшаться — пиши пропало, проект исчерпывает себя.

        В любом количественном анализе важно не только цифры посчитать, но и правильно интерпретировать. С этим у вас явные проблемы. Вы пытаетесь рационализировать то, что давно известно эмпирически. История про растущее количество багов — эмпирическая, а не рациональная. В этом причина вашей ошибки.
        • +5
          количество багов и фича реквестов растет пропорционально размеру кодовой базы. Вот если их количество вдруг начинает уменьшаться — пиши пропало, проект исчерпывает себя.
          Я считал только баги. Фича реквесты не считал.
          • 0
            Окей, это не очень важно, на самом деле. Суть в том, что я с вами не согласен методически.

            Но вброс годный, да :)
            • +55
              Для меня очень важно. 3000 багов, и среди них те, которые мешают мне работать, висят годами. А кому из разработчиков мешали старые иконки — мне совершенно не ясно. Они могли мешать только маркетологам.
              И это не методика, это просто число, чтобы заценить масштаб трагедии :) Меня лично больше беспокоит не количество, а то, что эти баги мешают работать.
              • +7

                Судя по графику в IDEA 16k багов.


                Не могу вспомнить хоть одно issue, которое мне сегодня мешало бы работать и я его ощущал на себе :)

                • +4
                  Я много таких помню.
                  Часть очень быстро закрывалась (несколько дней для тестовых билдов), часть бала незначительными, но длительными и популярными (например, FTP keep alive) и часть (фичи) решалась плагинами.

                  Я однозначно могу сказать, что проект становится лучше. Несмотря на множественные баги.
                  Количество сил ограничено, и они грамотно разделяют их между багами и фичами.
                  • +2

                    Я тоже репорчу баги (когда есть EAP — использую EAP) и их закрывают. Я скорее о том, что лично для меня нету критических багов, которые мешают работе, я наоборот жду когда запилят мои фича реквесты.


                    @raacer давай-те ваш список багов, которые мешают жить. Будем ставить пальцы в youtrack ;)

                    • +12
                      Мне что, надо каждый раз плакаться на Хабре, чтобы мои баги позакрывали? :)

                      Спасибо большое за Ваш энтузиазм и стремление помочь. Я ценю Ваше предложение. Я также вполне ожидал, что мнение многих людей не совпадёт с моим в целом либо в деталях. Тем не менее, я не думаю, что та проблема, которую вижу и испытываю я, может быть закрыта несколькими исправлениями. Я рассматриваю баги как индикатор производственных проблем. И я думаю, что если эти проблемы не устранить, баги всё равно будут возникать снова и снова. Я бы проголосовал за то, чтобы в компании на какое-то время заморозили разработку новых фич и занялись исправлением ошибок и, самое главное, рефакторингом кода и/или производственного процесса (в зависимости от того, что является причиной всех этих багов).
                      • +1
                        Я бы проголосовал за то, чтобы в компании на какое-то время заморозили разработку новых фич и занялись исправлением ошибок и, самое главное, рефакторингом кода и/или производственного процесса

                        Этого, конечно, не будет, т.к. одни только багфиксы по платной подписке — это чересчур. Отдел маркетинга будет в шоке, да и пользователи, которых сейчас всё устраивает, тоже. Так что в лучшем случае больший процент времени на эти вещи смогут выделить.

                        • +10
                          Я думал они именно поэтому подписку сделали. Продукты и так крутые, а если выкатить релиз с багфиксами народ не поймет зачем покупать новую версию если и так ок.
                          А по подписке оно как-то норм.
                          • +1
                            Так, на сколько я помню, звучит официальная версия — та, которую хотят слышать покупатели. На деле же по количеству новых фич и багов я бы не сказал, что они там занимаются полировкой.
                            • 0
                              Подписку сделали, чтобы получить больше денег.
                          • 0
                            Рефакторинг — бесконечный процесс.
                            Да, давайте им займемся.
                            • +3
                              Это сарказм? Ну, давайте никогда не заниматься рефакторингом, раз Вы так считаете.
                      • +4
                        в Resharper каждый день достает глючный Ctrl+1/Ctrl+Shift+1
                        причем им я пользуюсь куда чаще чем какими то сложными рефакторингами.
                        • +2

                          ctrl+shift+backspace туда же

                          • 0
                            Alert123 а что конкретно с ним достает? на это есть тикет?
                            • +1
                              наверное есть, в саппорт я писал давно еще, в новых релизах так ничего и не изменилось.
                              запомненное место просто пропадает при редактировании/copy/paste кода в этой области (простой кейс: запомнили место 1 и место 2, в месте 1 сделали Cut для части кода, перешли в место 2 и сделали Paste, вернуться в 1 больше нельзя). Да и значёк закладки сбоку не отображается если строка пустая.
                              • –1
                                и в Idea кнопки Back/Forward с тулбара в какой то из версий пропали. Скролишь код мышью, изучаешь, нажимаешь Ctrl+LeftClick чтобы перейти к определению функции — а обратно вернуться нельзя, вы бы эти Back/Forward в углу рядом с поиском добавили.
                                • +1
                                  Crtl+Alt+Left/Right
                                  • 0
                                    это надо знать, бросать мышь и тянуться в клавиатуре. Можно и в главном меню покопаться и найти. Но если есть переход с помощью чисто мыши то и возврат должен быть так же интуитивен.
                                  • 0

                                    возьмите и добавьте сами

                                    • +6

                                      Куда пропали?
                                      По-прежнему на месте:


                                      • 0
                                        только сейчас нашел где этот тулбар включается. Раньше потыкал на главном меню и оставшихся кнопках — там в контекстном меню нет ничего, с тех пор считал что насовсем убрали.
                                        • +1
                                          Кнопки-то нашлись, но осадок неприятный остался :-D
                                          • 0
                                            неудобство работы с настройкой «по умолчанию» — на мой взгляд такой же баг, тем более раньше было — а потом пропало.
                                            • 0
                                              Ну не скажите. Одно дело, когда задумка неудачная, и совсем другое дело, когда то, что задумали, не работает так, как задумали. И то, и другое — важные проблемы, но причины их возникновения немного разные.
                                              • +5

                                                То что убрали тулбар — исключительно верный ход. Больше места должно быть для кода, ничего не должно отвлекать. На это нужна была смелость, потому что все привыкли за 30 лет видеть иконки undo, redo, cut, copy, paste, но при этом никогда, НИКОГДА на них не кликают. Тут JetBrains молодцы.

                                                • 0
                                                  (del)
                                                  • –4
                                                    Если лично ВЫ никогда, НИКОГДА на них не кликаете, то это не означает, что оставшиеся 99,9999% пользователей их тоже не используют.

                                                    JetBrains был основан всего 16 лет назад и не мог IDEA выпускать как вы выразились уже 30 лет. Значит вы говорите об классическом UI текстовых редакторов, в обучении работы которым на курсах и в самоучителях всегда делается акцент на работу с мышкой (шорткаты для гиков, которые читают справку).

                                                    Лично я, когда ем во время работы бутер или яблоко, то тоже вместо комбинаций клавиш могу прощелкивать мышкой. И еще знаю очень, ОЧЕНЬ много людей (преимущественно старшее поколение), которые используют в своих офисных пакетах исключительно кнопки тулбаров, а наличие шорткатов считают от лукавого. Но я же не буду из этого выводить псевдостатистику, что все, ВСЕ пользователи используют исключительно тулбар и компания IDE своим решением сознательно мешает продуктивной работе программистов ;-)
                                                    • –1
                                                      Для «не отвлекать» есть Distraction Free Mode, а сокрытие тулбара — не более, чем следование моде на минимализм.
                                            • 0

                                              В меню View нужно включить тулбар (не помню, как оно точно называется, IDEA нет под рукой). После установки идеи — первая вещь, которую делаю, как раз из-за этих кнопочек.

                                    • +18
                                      А кому из разработчиков мешали старые иконки — мне совершенно не ясно.

                                      Здравствуйте. Я такой разработчик. Надеюсь, что JetBrains продолжит и дальше улучшать иконки, в частности на тубларах. Без слез смотреть невозможно. Я и не смотрю, конечно, давно все убал, но новые разработчики пугаются.


                                      И это не методика, это просто число

                                      Вот он, маркетинг в чистом виде. Просто показываете красивое число, чтобы подтвердить свою точку зрения, не делая анализ, что же стоит за этими числами.

                                      • +6
                                        Я такой разработчик. Надеюсь, что JetBrains продолжит и дальше улучшать иконки
                                        Я и не смотрю, конечно, давно все убрал, но новые разработчики пугаются.
                                        То есть иконки стали настолько хороши, что Вы их убрали совсем?
                                        А почему новые разработчики пугаются модных современных иконок?
                                        Вот он, маркетинг в чистом виде.
                                        Вы неверно поняли мой посыл. Я имел в виду, что число не доказывает корреляцию между ростом ошибок и усложнением моей работы. Такое доказательство потребует целой научной работы. Поэтому приведенное число не является методикой оценки глючности продукта. Проводить параллели я предлагаю самостоятельно.
                                        • 0
                                          Вы их убрали совсем

                                          вероятно, речь о тулбарах, т.к. новые значки видны чуть менее чем повсюду

                                          • 0
                                            А почему новые разработчики пугаются модных современных иконок?

                                            Вы намеренно переврали то, что я написал или невнимательно прочли? Мое предложение было ответом на вашу фразу про старые иконки.


                                            число не доказывает корреляцию между ростом ошибок и усложнением моей работы

                                            Тогда зачем оно вообще в топике и о чем топик вообще? Если проблема в том, что вам субъективно стало неудобнее работать, так бы и написали. Зачем было делать вид, что хотите доказать корреляцию, графики строить? Я и говорю — маркетинг.

                                            • +2
                                              Вы знаете. Вашу речь про иконки(их убирание) не понял и я.
                                              Как-будто из ваших предложений убрали некоторые части.
                                              Я догадываюсь, что вы убрали старые иконки, а когда вышли новые, то их добавили?

                                              Топик дискуссионный и не подразумевает доказательств.
                                        • +4
                                          Толчком к измнению иконок было появление Райдера. Нужно было решение, которое не будет чужеродным ни для пользователей Visual Studio, ни для тех, кто уже пользуется средами на платформе IntelliJ.
                                          • 0
                                            Ничего, что новый визуальный ряд начали разрабатывать в начале 2014 года, когда о райдере только начинали думать?
                                            • +1
                                              Мысль о том, что в IntelliJ нужны новые иконки появилась позже, чем новый дизайн JetBrains. Конечно, это связанные вещи, я сказал о том, что послужило толчком к этому.
                                            • +1
                                              Это же и есть маркетинг. На функциональность это мало влияет.
                                              • +3
                                                Отделять визуальную составляющую от функциональности — ошибка. В любом продукте важно не только то, что он умеет, а ещё и то — легко ли этим пользоваться или легко ли отыскать нужную функциональность. Юзабилити, прости господи. А это неразрывно связано с тем, как что выглядит.
                                                • +1
                                                  Я подозреваю, что в данном случае речь не о юзабилити, а об эстетичности и привлекательности, что, как ни странно, оказывает большее влияние на прибыль, чем количество незакрытых багов. Даже для IDE.
                                                  • 0
                                                    Нет, именно юзабилити. Если кнопка явно отражает зачем она нужна без необходимости задерживаться на ней, чтобы получить подсказку, это именно удобство, а не эстетика.
                                                    • 0
                                                      А при чем это к «решению, которое не будет чужеродным для пользователей Visual Studio»? В этой ветке обсуждается другая гипотеза. И я высказывал своё понимание сути конкретной гипотезы про «нечужеродность». А Вы — о юзабилити…
                                                      • 0
                                                        Я к тому, что люди привыкли к примеру, к зеленой стрелке, которая чаще всего означает «build». Если в проекте поменяли иную иконку на такую, то это вопрос удобства, а не красоты.
                                                        • 0
                                                          Я с вами согласен. Только я говорю о сильном изменении стиля иконок, а не о цвете.
                                                  • +3

                                                    Видимо именно из-за улучшившегося юзабилити баг IDEA-162686 не остался незамеченным пользователями, а набрал уже более сотни голосов и комментариев.


                                                    И что же видят пользователи в ответ?
                                                    Надуманные обоснования того, зачем это сделано и незавуалированное желание спустить всё на тормозах с прямыми призывами отозвать свой голос.

                                              • +6

                                                старые иконки можно вернуть через плагин. Хотя мне что новые, что старые иконки работать не мешают

                                                • 0
                                                  Можете ссылку на плагин дать, не получилось найти? Очень тяжело с новыми, сине-серые тона на темном фоне я плохо различаю.
                                                    • 0
                                                      Кстати, это не те иконки, которые были раньше, еще до того, как иконки стали постоянно меняться.
                                                      • +1

                                                        можно скачать архивную версию IDEA и по аналогии создать "Icon Pack 2014" например.

                                                        • 0
                                                          Ок, как там говорят… ждём ебилдов? :)
                                                          Я просто обратил внимание, что речь совсем не о об этих новых синеньких иконках, а как раз о тех желтых, которые предлагаются в плагине. То есть это событие произошло намного раньше.
                                                • +18

                                                  Вы же не предлагаете людей, которые рисуют иконки, пересадить на исправление багов? Будет только хуже, уверяю. Это разные люди, они несовместимы :-)

                                                  • –2
                                                    за деньги людей, которые согласовывают/меняют/утверждают иконки можно нанять хоть сколько-то программистов, которые действительно сделают продукт лучше.
                                                    • +3

                                                      Денег хватает и так у JetBrains. А количество не всегда переходит в качество.

                                                    • +1
                                                      Мне больше волнует то, какие задачи в приоритете у начальства, и в каком направлении думают начальники.
                                                      • +1

                                                        Большинство задач — это инициатива снизу. По крайней мере в IDEA Core, насчёт PyCharm не знаю.

                                                    • 0
                                                      не очень понятна цель статьи на самом деле. и мало примеров действительно критичных багов
                                                      • 0
                                                        Цель — обсудить проблему и возможные решения того, что продукты портятся.
                                                  • +4

                                                    Многие люди с улицы репортят фича-реквест как багу (просто значение Bug в поле по дефолту). Дальше зависит, поменяли ли разработчики значение поля (некоторые могут и сделать фичу, закрыть issue и не поменять, что уж говорить о реквестах, которыми никто не занимался).


                                                    У IDEA стабильно растёт число пользователей. Логично, что при этом больше желающих чего-то написать в багтрекер и больше функциональности подвергается активному тестированию. Есть забагованные фичи, которым много лет, просто раньше ими мало кто пользовался.

                                                    • +1

                                                      Вы намекаете, что эти тысячи тикетов никто из разработчиков даже не прочитал? Если хоть кто-то хоть раз прочитал, то тип тикета точно актуален, это меняется за секунду.

                                                      • +2

                                                        в какой-то момент их становится столько, что реально включается внутренний фильтр на прочтение каждого тикета. В какой-то из версий YouTrack даже добавили признак "Triaged".
                                                        И да, старые и неактуальные баги тоже закрываются, если заметят что он уже исправлен как-то. Лично сам несколько таких "закрыл" просто прокомментировав что баг уже не воспроизводится

                                                        • +1
                                                          в какой-то момент их становится столько

                                                          Столько — это сколько? Я ж не говорю, что их все надо ежедневно перечитывать… а за день новых тикетов вряд ли появляется столько, что невозможно успеть пробежаться по ним и статусы расставить.


                                                          старые и неактуальные баги тоже закрываются, если заметят что он уже исправлен как-то

                                                          Такое бывает. Но это не относится к теме неверных типов у тикетов.

                                                        • 0

                                                          Почему вы решили, что тот, кто читает новые тикеты, первым делом меняет их тип? Не такое уж это и важное поле.

                                                          • 0
                                                            Если разработчикам не важно, фича это или баг (в чём я не уверен, но это возможно, да), то это только усугубляет проблему.
                                                            • +1

                                                              Ну я вообще занимался в том числе и поддержкой трекера одного крупного OpenSource-проекта. Поверьте, первым делом изменяешь тип, отмечаешь дубликаты и убираешь вопросы, которые не соответствуют policy, иначе хаос и бардак будет.

                                                              • +1

                                                                Я вполне могу поверить, что вы так делаете первым делом. Но это отнюдь не означает, что все остальные так делают.

                                                                • +1

                                                                  Не означает конечно, но если этого не делать пару месяцев, то трекер превратится в заброшенную помойку, если вашим продуктом реально пользуются люди.

                                                          • +1
                                                            Вы можете привести пример тикетов у JetBrains, в которых забыли исправить тип? Если Ваше предположение об их большом количестве верно, то, наверно, для Вас не составит труда найти несколько таких тикетов.
                                                            • +4

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


                                                              • Recognize NTFS junctions — если NTFS junctions никогда до этого не поддерживались, я считаю, что их поддержка — новая фича.
                                                              • Analyze->InspectCode doesn't find a relatively simple singleton — инспекция ищет определённые виды синглтонов по их внешнему виду. Поддержать новый вид — это фича, а не баг.
                                                              • Integration tests are not renamed when the class is renamed — при переименовании класса Foo идея предлагает заодно переименовать FooTest, но не предлагает переименовать FooIT. Определённо поддержка нового суффикса — это фича. Маленькая, косметическая, но всё же фича.
                                                              • Propose to change access level for method reference — есть инспекция, но к ней нет квик-фикса. Сделать новый квик-фикс — однозначно фича. Хотя кому-то может показаться, что отсутствие квик-фикса — баг.
                                                              • No completion inside lambda when instance of contains lambda — внутри expression-лямбд после выражения instanceof не удавалось воспользоваться code completion с учётом знания об уточнённом типе переменной. Кто-то может подумать, что раз что-то работает вне лямбд, то отсутствие этого в лямбдах однозначно бага. Однако это новая фича языка, которая весьма нетривиальна во многих аспектах (в том числе для полноценного вывода типов в недописанной лямбде), поэтому поддержка чего-то внутри лямбд, что работало вовне (а внутри лямбд не приводило к ошибкам, не ломало код а просто не работало), скорее фича, чем бага.
                                                              • 0
                                                                что для кастомера бага, для разработчиков может быть фичей

                                                                Вот с этим я категорически не согласен. Когда у пользователя что-то не работает или работает не так, как ожидается, то это баг, реже enhancement или usability problem, но не фича.
                                                                Фича — это когда добавляется функциональная возможность, которой раньше вообще не было (с точки зрения пользователя), а не улучшение работы существующих возможностей.

                                                                • +3

                                                                  Это всё бесполезная риторика, которая никак на качество продукта не влияет. Так можно докатиться до того, что поддержка языка Питон — это фича, а вот любая новая инспекция кода для Питона — это уже багфикс. Это ведь улучшение существующей возможности разработки на Питоне.


                                                                  Многие люди (и я в том числе) считают синонимами слова feature и enhancement применительно к issue type. К примеру, в JetBrains YouTrack вообще нет Enhancement, а в OpenJDK JIRA есть enhancement, но нет feature. Словоблудие это всё, работать надо, а не классифицировать задачи по коробочкам.

                                                                  • 0
                                                                    > Вот с этим я категорически не согласен.

                                                                    Если баги в JetBrains сортируете не вы — вряд ли ваше мнение учтут
                                                                    • 0

                                                                      А его и не обязательно как-то специально учитывать… судя по примерам lany, у тех, кто сортирует баги в JetBrains, мнение просто совпадает с моим :-)

                                                          • +2
                                                            Тут, извините, как в старой шутке из книги «Физики шутят»: «Хорошо, Смит, эффект вы обнаружили, теперь попытайтесь найти причину» под картинкой со взорвавшейся установкой.
                                                            Эффект обнаружен — широкоиспользуемая IDE становится все более глючной. Ладно, мы поставили точку, сказали, мол, это естественно и все такое, ведь проект развивается. Делать-то что с этим?
                                                            • +1

                                                              А вы считаете, что проблема только в сфере IDE и остальной софт с каждым релизом становится все быстрее и стабильнее?

                                                              • +2
                                                                Везде по-разному.
                                                                Например, у нас принято иметь три ветки: стабильная, RC и DEV. В стабильную идут только исправления, в RC — только исправления и незначительные улучшения, в DEV — все, что угодно. Стабильная ветка — да, с каждым релизом становится все быстрее и стабильнее. У клиентов — стабильная, RC и DEV получают только те, с кем это предварительно оговорено, те, кто участвуют в предварительном реальном тестровании.
                                                                • 0

                                                                  Ну так и у JetBrains есть EAP.

                                                                  • +1
                                                                    В последнее время я стараюсь не устанавливать обновления PyCharm сразу после нового мажорного релиза, а дожидаюсь следующего минорного. Делаю так, потому что надоело участвовать в этой EAP, на которую я не подписывался.
                                                                    • 0

                                                                      EAP это не совсем то, на что вы подписывались. К вам по подписке приходят релизы. На EAP надо именно отдельно подписываться.

                                                                      • +5
                                                                        Я шучу. Имею в виду, что мажорные релизы похожи на EAP.
                                                                        • +5
                                                                          Имею в виду, что мажорные релизы похожи на EAP.

                                                                          Тут я с Вами согласен, но абсолютно с точки зрения наоборот: когда я пользовался EAP года 4 назад, это была именно EAP и для работы не годилась, падало, брыкалось, что только ни делало, лишь бы не работать. Сейчас же я сижу исключительно на EAP сборках и они очень редко валятся с критическими ошибками.


                                                                          Касательно статьи в целом — плюс за поднятие темы, но минус за рассмотрение проблемы с эмоциональной точки зрения "вы меня задолбали, я ухожу, вот вам гневное письмо". Как активный репОртер, я знаю, что есть баги, которые не являются критическими (low priority) или воспроизводимыми (вроде и важный, но проявляется при куче совпадений у одного человека. Все об этом вроде знают, но сделать ничего не могут). Так же есть баги, которые уже давно устарели (здесь проблема разбора ютрака, а не фикса багов, также проблема того что репортеры зачастую не комментят баг как "May be closed as obsolete/unreproducible" и такие баги (хотя по факту уже давно ими не являющиеся) висят годами и никому не мешают, приорити не растёт, в списке вверх не поднимается).
                                                                          Так же, как выше заметили, кол-во пользователей растёт, кол-во репортов растёт. И это не значит что багов стало больше, часть из них старые, но ранее не зарепорченные. Плюс к этому зоопарк плагинов, поддержка новых фреймворков в ядре как плюс к увеличению разных комбинаций для выявления бага в уже (может быть, лет как 6 назад) написанном коде.


                                                                          Но да, частично (очень незначительно) я с вами и согласен, поскольку есть баги, которые мешают жить, но, почему-то, только вам. Например я пользуюсь сплит-видом без тулбаров и табов, и не всегда точно помню, который файл открыт рядом. Уже давно прошу просто показывать имя файла в углу, как, например, https://jsfiddle.net/ делает. Но я отчётливо понимаю, что так IDE пользуется крайне мало людей, и ещё меньше из них способны и имеют желание зайти на ютрак и оставить схожую просьбу/поставить +1 моей просьбе. Оно так и висит 2.5 года.
                                                                          Я так понимаю, что практические единственный способ что-то исправить/улучшить если запрос крайне непопулярный — это PR в open source CE. Ещё можно на форуме у них поспрошать, может через разбор бага (или её важность) до разработчиков не дошла.


                                                                          UPD: Ну конечно же ещё есть такой фактор как правильно оформленные баги. "У меня тут что-то не работает" фиксится крайне редко.

                                                                          • 0
                                                                            Тут я с Вами согласен, но абсолютно с точки зрения наоборот: когда я пользовался EAP
                                                                            Очень радует, что EAP релизы стали стабильнее. Но меня волнует стабильность мажорных релизов, которые я просто боюсь устанавливать, т.к. глюки и ошибки сильно выбивают меня из колеи и мешают делать работу.
                                                                            «вы меня задолбали, я ухожу, вот вам гневное письмо»
                                                                            А я не говорил, что я срочно куда-то ухожу :) Я просто поднял тему. Уходить или нет — я еще не решил. За анализ мне никто не платил, так что хватит с меня эмоций. Заниматься анализом прежде всего в интересах самой JetBrains, и я уверен, они им занимаются. Может быть этот пост будет поводом для них поанализировать еще чего-нибудь. А всё то, чем мы тут занимаемся — это, в основном, чистой воды предположения.

                                                                            Уже давно прошу просто показывать имя файла в углу
                                                                            Это не баг. Важно, конечно, но совсем не баг.
                                                                            • +1
                                                                              Это не баг. Важно, конечно, но совсем не баг.

                                                                              Да, конечно, тут я неправильно выразился. Для этого у них есть отдельный тип Usability Problem. Что обычно приравнивается по важности к багам или около того.

                                                              • +6
                                                                Эффект обнаружен — широкоиспользуемая IDE становится все более глючной.
                                                                На самом деле утвержение спорное. Аргументацию автора статьи очень трудно назвать исчерпывающей.
                                                                • +3
                                                                  А в статье нет аргументаций. Есть только мнение и немножечко фактов, которые, все же, надо еще сопоставлять и переваривать. Статья адресована тем, кто так или иначе сталкивается с этими проблемами. А кто не сталкивается — тех нет смысла в чем-то убеждать, пусть себе радуются на здоровье. Наверное, стоило об этом написать в самой статье.
                                                              • +7
                                                                Как-то я слушал главного по разработке Visual Studio, когда он приезжал в Россию, так вот он хвастался графиками убывающего кол-ва багов в каждой версии vs, при том довольно неплохо убывающего.
                                                                • 0
                                                                  Значит они работают над архитектурой и качеством кода — рост числа багов это сигнал о проблемах с архитектурой и/или качеством кода.
                                                                  • +2

                                                                    Только не стоит забывать, что после "Значит они работают над архитектурой и качеством кода" есть ", а не над фичами".

                                                                    • +14
                                                                      А мне вот нравится такой подход. Пусть сначала позаботятся о существующих основных фичах, сделают всё надёжным и стабильным, а потом уже выдумывают тысячу пятьсот дополнительных фич на все случаи жизни.
                                                                      • +3

                                                                        полировать до блеска можно вечно не созидая при этом ничего более

                                                                        • +5
                                                                          К чему эти крайности?
                                                                          • –1
                                                                            А как вы поняли что это крайность?
                                                                            В том идея что линия за которой крайность у всех разная. Просто у вас (пользователя, у которого нет тысячи сотрудников, которые хотят ЗП) линия очень близко к полной стабильности, а у них (надо и фичами юзеров приманивать) дальше.
                                                                            • 0
                                                                              А как вы поняли что это крайность?
                                                                              Вечность — это бесконечное количество времени. Больше уже некуда. Чем Вам не крайность?
                                                                              Просто у вас (пользователя, у которого нет тысячи сотрудников, которые хотят ЗП)
                                                                              Ну да, у каждого свои проблемы: у кого суп жидкий, у кого бриллианты мелкие. Ну и что теперь? Пусть разработчики напишут статью о том, как их задолбали недовольные пользователи вроде меня :) Заодно расскажут свою версию, почему багов становится больше.
                                                                      • 0
                                                                        ну логично — пока старые фичи не стали стабильно работать нечего за новые браться, тем более что новые фичи это шлифовка — самое главное давно сделано и важнее чтобы оно надёжно работало
                                                                        • 0
                                                                          >> самое главное давно сделано и важнее чтобы оно надёжно работало
                                                                          Это вы, наверное, про vi?
                                                                  • +7
                                                                    Это не говоря уже о том, что количество зафиксированных багов != количеству багов в коде. Пользовательская база растет — фиксируется больше багов. В конце концов, не все баги раздражают настолько, чтобы их репортить.
                                                                    А еще мне интересно, отсеивались ли дубликаты.
                                                                    • 0

                                                                      Вроде как по стейту только брались Open, Submitted, In Progress.

                                                                      • +2

                                                                        При пометке бага дубликатом он автоматически закрывается, а к оригинальной проблеме добавляется голос того, кто зарепортил дубликат. Поэтому помеченные дубликаты не могли попасть по этим состояниям. Но, конечно, вполне вероятны непомеченные дубликаты.

                                                                        • +1
                                                                          помеченные дубликаты не могли попасть по этим состояниям.

                                                                          Конечно не могли, есть state=Duplicate и то, что он является Resolved по сути, это уже второстепенно, а то что он уже не Open, Submitted, In Progress — определяет попадёт он в выборку или нет. Если по стейтам не фильтровать, а просто брать по типу, то тогда попадают. В общем-то в основном этим и объясняются некоторые пики зарепорчено/зарезолвено. Было пару больших проблем в истории с кучей дубликатов.

                                                                    • +3
                                                                      в любом живом и развивающемся проекте количество багов и фича реквестов растет пропорционально размеру кодовой базы


                                                                      Зависит от целей компании. Вообще есть такие штуки как стабилизационные спринты. Это когда ничего нового не добавляют, а банально фиксят накопленные баги. И для хороших продуктов это норма.
                                                                      • 0

                                                                        А что надо пофиксить в методике?
                                                                        Мне пока приходит в голову:


                                                                        • Defect density вместо общего количества (вопрос, как вычислить какую-то метрику размера при закрытом коде)
                                                                        • Добавить какую-то классификацию по серьезности багов
                                                                        • 0

                                                                          IDEA Community открыта, весь код PyCharm Community в неё входит, считайте на здоровье. Думаю, картина для закрытой части принципиально отличаться не будет.

                                                                      • +10

                                                                        Кидайтесь камнями, но я, не смотря на мою любовь (убывающую, правда) к IDEA, искренне верю в будущее Language Servers.


                                                                        Когда IDE будут меряться рендером шрифтов, отзывчивостью и удобством (мне например очень понравился VS Code), а работу по анализу сорцов будут делать IDE независимые language server-а (как это у Haxe сделано например).


                                                                        Имхо это прекрасное будущее разработки тулинга. У IDEA сейчас прекрасный анализ кода. Это заставляет открывать её вместо VS Code когда надо сделать рефакторинг. Но поправить пару строчек — проще открыть Atom, Code, Vim, Nano, etc…


                                                                        И тут я вижу два сценария — IDEA начнёт поддерживать LS, либо IDEA останется аутсайдером, но имхо мотивации контрибьютить в LS гораздо больше, чем в IDEA.

                                                                        • 0
                                                                          1. Если вдруг, когда-то, появится LS для Java лучший чем в IDEA, IDEA просто возьмет его себе. Уже сейчас можно включить LS для TypeScript.
                                                                          2. IDEA это не только LS, это еще 100500 фич и интеграций.
                                                                          3. Отзывчивость vs code и atom субъективно хуже чем IDEA. У IDEA есть "проблема" со временем старта. Из шела очень удобно делать idea file, и редактировать прямо в IDEA.
                                                                          • +5
                                                                            Если вдруг, когда-то, появится LS для Java лучший чем в IDEA, IDEA просто возьмет его себе. Уже сейчас можно включить LS для TypeScript.

                                                                            Уже есть рабочий вариант (на основе Eclipse JDT), который используется в плагине к VS Code от RedHat.


                                                                            Отзывчивость vs code и atom субъективно хуже чем IDEA.

                                                                            Ладно атом, этот ещё тот тормоз, а что не так с отзывчивостью у VS Code? С самых ранних версий очень шустро работал.


                                                                            Из шела очень удобно делать idea file, и редактировать прямо в IDEA.

                                                                            "code file", или "code ." чтобы открыть целую папку в VS Code.

                                                                            • +3
                                                                              Уже есть рабочий вариант (на основе Eclipse JDT), который используется в плагине к VS Code от RedHat.

                                                                              А, так он на JDT? Там постоянно нестыковки со спецификацией Java. Их, конечно, чинять, но не так быстро, как хотелось бы. Идеевский аналайзер джава-кода, на мой взгляд, точнее соответствует спецификации. Ну и рефакторингов/фиксов в JDT просто в сто раз меньше, чем в IDEA.

                                                                              • 0
                                                                                Ну и рефакторингов/фиксов в JDT
                                                                                А вот это тоже может быть следствием чего угодно.
                                                                            • +1
                                                                              1. Уже делают. Не с нуля. Вопрос времени, я думаю.
                                                                              2. Для этого в LS есть понятие "Client". Тот, кто рисует результат анализа и позволяет его редактировать. И я хотел бы иметь возможность выбора, да.
                                                                              3. Это простите как? Что тогда вы понимаете под отзывчивостью? Я просто очень известный в узких кругах неудачный юзер IDEA где у меня всё тормозит. Когда 200-300ms от нажатия кнопки до появление символа при редактировании Kotlin исходников например — это отзывчиво или нет?
                                                                              • +4

                                                                                Они собираются значительно ускорить отзывчивость редактора в новых релизах, сделали так называемый Zero latency typing.


                                                                                Скрытый текст
                                                                                • +7
                                                                                  Интересно. Из картинки выходит, что IDEA сейчас самая тормознутая из всех.
                                                                                  • +6

                                                                                    Да, это чувствуется не иллюзорно. :)
                                                                                    Я долго привыкал. Что-то не так, какой-то дискомфорт, а что именно сразу не ясно, потом понимаешь, что дело в отзывчивости редактора.

                                                                                    • +2
                                                                                      Попробуйте отключить spell-checker, иногда неиллюзорно помогает с отзывчивостью
                                                                                      • +1

                                                                                        Всегда первым делом его отключаю. Немного помогает, но задержка всё равно есть.

                                                                                    • +1

                                                                                      Так то да, но в PyCharm 2017.1 EAP уже завезли, значит и на всех остальных IDE появится с новыми релизами.

                                                                                    • 0

                                                                                      Довольно странное решение сравнивать IDE c редакторами текста.

                                                                                      • 0

                                                                                        Ну, они именно сам редактор текста сравнивают, причем именно latency самого редактора, а не всяких там автодополнений и прочих наворотов.

                                                                                    • +2

                                                                                      вот ещё, на тему отзывчивости IDEA:
                                                                                      https://gyazo.com/9895e2bbeb933a6ede7841bfb97b2153


                                                                                      Никогда такого не видел в Atom или VS Code, даже на огромных проектах

                                                                                      • +2
                                                                                        Когда 200-300ms от нажатия кнопки до появление символа при редактировании Kotlin исходников например — это отзывчиво или нет?

                                                                                        1. Попробуйте по-отключать всё, что покажется ненужным, в разделе Inspections.
                                                                                          Отключение Spelling здорово помогало.


                                                                                        2. Еще есть параметры для Autopopup в Code completion, и Autoreparse в Editor/General. Их лучше увеличить, чтобы не мешались при редактировании.
                                                                                        • +1
                                                                                          1. и 2. Пока LS не показывает удивительных результатов(на примере TS) — он тормознутее чем то что есть в IDE. Имо, в будущем, в первую очередь это будет востребовано в языках которые не сильно популярны, и где делать поддержку для каждой IDE невозможно.


                                                                                          2. Никогда такого не было и вот опять https://drive.google.com/file/d/0B90geJfEOzlzWWoza1N3SDFuMzg/view?usp=sharing

                                                                                          Когда 200-300ms от нажатия кнопки до появление символа при редактировании Kotlin исходников например — это отзывчиво или нет?

                                                                                          Вот именно эти 200-300 мс я ощущаю в vs code, стоило только у нему добавить пяток плагинов. Атом такой с самого начала. Можно поискать достаточно старый пост, где делали обзор именно скорости ввода символов. Скорость показывания подсказок с IDEA сравнивать бессмысленно, разве что если в IDEA включить power-save mode.

                                                                                          • +1
                                                                                            3. Про отзывчивость частично согласен. Иногда IDEA начинает выдавать заметный latency при наборе текста, причём замечаю это всё чаще и чаще последнее время. Но в «нормальном» режиме (80% времени на вскидку) latency набора текста гораздо меньше, чем в Atom/VSCode. Иными словами: IDEA либо мгновенно отрисовывает буквы, либо тормозит, существенно раздражая. Atom/VSCode имеют стабильный и заметный latency, не приятный сначала, но потом привыкаешь.
                                                                                            • +1
                                                                                              Когда 200-300ms от нажатия кнопки до появление символа при редактировании Kotlin исходников например — это отзывчиво или нет?

                                                                                              Странно что про scala плагин никто не пишет. Отзывчивость там секундами, а иногда и десятками секунд, измеряется.
                                                                                          • +2
                                                                                            отзывчивостью и удобством

                                                                                            проще открыть Atom, Code

                                                                                            Надеюсь не наступит таких времён, когда браузеры заменят нормальные редакторы кода, делая вид, что они отзывчивые и быстрые.
                                                                                            • +1
                                                                                              atom и VS code работают поверх браузерного движка
                                                                                            • +2

                                                                                              Как заработать на Language Servers?
                                                                                              Подозреваю, что количество желающих заплатить за удобную IDE несколько больше, чем количество желающих прикупить лицензию на LS в надежде, что IDE станет работать лучше.
                                                                                              Нет денег — нет будущего.

                                                                                              • +2
                                                                                                Куда нести donation на language server для связки perl+sql+javascript+html в одном коде, и чтобы всё это корректно распознавалось и работало в vim?
                                                                                            • 0
                                                                                              Хочу заметить, что я считаю PyCharm не только лучшей, но и в принципе единственной на сегодняшний день вменяемой IDE для Python


                                                                                              emacs + spacemacs, не холивора ради. Нет чудо-интерфейса, зато работает из коробки и очень даже хорошо.
                                                                                              Да, я в курсе что уже 2017й. Но пока не нашел что PyCharm может а Emacs нет (в плане ежедневной работы со сложными Python проектами).
                                                                                              ЗЫ: это все ИМХО, на вкус и цвет…
                                                                                              • +5
                                                                                                Спасибо.
                                                                                                А он может трёхколоночное сравнение версий из git? аннотации из git? переход на определение унаследованного метода?
                                                                                                • +3
                                                                                                  Да, может, magit называется
                                                                                                  • +2
                                                                                                    Все есть, звать magit

                                                                                                    Вот пара скринов:
                                                                                                    — Трехколоночными диффами не пользуюсь. вот 2
                                                                                                    — Аннотации, репо это не оч активно, для иллюстрации достаточно

                                                                                                    По поводу перехода — есть, входит в слой python (layers в spacemacs) Мышкой не кликнешь (emacs же) но M+.(точка) делает дело. Ходит по родителям и поддерживает virtualenv.
                                                                                                  • +11
                                                                                                    Попробовал я emacs + spacemacs, порог входа гораздо выше, что-бы открыть и поредактировать заняло минуты и гугления. Поиска файлов нет (issue с 2015 года), открыл python файл, нет ни автокомплита ни перехода к определению. Хотел поставить jedi для автокомплита, но его нет в списке предложенных модулей, ok, нагуглил как подключить список, установил jedi, но автокомплита все ещё нет, то ли нужно жать магические кнопки, то ли надо запустить jedi сервер, то ли конфигурировать его надо. Вообщем чем дальше тем глубже в лес, а результата нет.
                                                                                                    А Idea — запустил и работает.
                                                                                                    • 0
                                                                                                      Не спорю, Idea проще если начинать совсем с «пустого листа».
                                                                                                      Если же есть опыт vim — то у spacemacs все не так уж и плохо :) + spacemacs очень активно развивается, сейчас все проще, добавляешь python в layers и он сам все поставит (включая anaconda mode) который и дает и отличный автокомплит и все плюшки.
                                                                                                      По поводу поиска файлов — есть helm (включен по дефолту) который ищет файлы в проекте по типу quick search в atom.

                                                                                                      И да. Это все нужно найти и прочитать. Порой не хочется тратить время.
                                                                                                      • 0
                                                                                                        Что-то я не понял… В имакс добавили эмуляцию вима??
                                                                                                        • +3
                                                                                                          Evil Mode. Шорткаты из вима, все остальное из emacs. Больше ненужно ломать мизинец.
                                                                                                          • 0

                                                                                                            Добавили, только есть проблемы с поддержкой переключения языков, с работой в минибуффере и с совместимостью с другими плагинами. Но того, что есть, уже достаточно для того, чтобы переключиться с вима на имакс, да :)

                                                                                                      • +4

                                                                                                        У Emacs очень большой порог вхождения. Чтобы настроить окружение для разработки на Emacs, надо потратить месяцы, а то и годы. И это непрекращающийся процесс. Постоянно что-то меняется, что-то начинает конфликтовать, и т.д. и т.п. Надо читать тонны документации, хорошо знать elisp. И с большими сложными проектами все равно все будет подглючивать, тормозить, не будет так удобно. Например, Idea не поперхнувшись слопает огромные сложные HTML с inline CSS и Javascript. Все раскрасит и весь код поймет. Для Emacs это святой грааль — что-то абсолютно недостижимое. Да даже просто распарсить сложный проект на Javascript, чтобы получить нормальную навигацию и автодополнение, по-моему, нереально. На больших проектах там все время что-то внутри этого elisp'а ломается, перестает работать, или работает неправильно.


                                                                                                        С Python чуть получше, но до уровня PyCharm не дотягивает значительно.


                                                                                                        Справедливости ради, в последний раз пользовался Emacs очень давно. Но уверен, что ничего не поменялось.

                                                                                                        • +1
                                                                                                          Согласен что у Emacs ооочень большой порог вхождения, поэтому стоит +spacemacs. ;)
                                                                                                          • 0
                                                                                                            Вы меня прямо таки заинтриговали. Лет 10 назад пользовался emacs, но надоело его настраивать: любой плагин был сырым и недоделанным, все приходилось допиливать. Неужели сейчас всё изменилось?