company_banner

Что такое красивый код, и нужен ли он? Что думают в Яндексе

    В Яндексе работает больше 6000 человек, и, по некоторым оценкам, больше половины наших сотрудников имеют опыт в программировании. И конечно же, у каждого из этих людей есть своё самое правильное мнение о том, каким должен быть идеальный код.

    В результате у нас нередки споры споры о том, должен ли код быть красивым. Причём оказывается, что понятие красоты здесь, как и везде, субъективно: «Предпочтение в коде у программистов — это как предпочтение в женщинах. Кому-то нравятся брюнетки, кому-то — блондинки».

    Чтобы понять, какие свойства кода отстаивают разные стороны, я по горячим следам очередных бурных обсуждений решила спросить коллег, что такое красивый код и должен ли он вообще быть красивым? Достаточно того, чтобы он хорошо работал и был понятным? Или понятный код по умолчанию красивый?



    В опросе участвуют bobuk, anatolix, anton, Андрей yafinder Плахов, Антон Самохвалов, Андрей Гулин, Владимир Иванов и другие. Суммарный опыт программирования всех участников этого микроинтервью на восьмерых составляет 198 лет.


    Андрей yafinder Плахов
    Программирует 24 года. В Яндексе — 6 лет.

    Пришел в Яндекс в 2008 году на должность старшего разработчика. Первой его задачей было создание нового типа факторов ранжирования — доменных. Занимался ранжированием, создал систему Спектр. Кандидат физико-математических наук. Сейчас руководит службой поисковой функциональности — в частности, разрабатывает поисковые подсказки. Глубоко понимает и технологии, и пользовательские свойства продукта.

    Андрей Плахов

    Спрашивать программиста о том, что такое красивый код и должен ли он таким быть, — это все равно, что спрашивать архитектора, что такое красивый дом и должен ли он таким быть. Что такое красивый дом вряд ли тебе архитектор объяснит, а если спросить, должен ли он таким быть, он, конечно, скажет, что должен.

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

    Может быть, это немного пессимистично, но если поставить себя на место человека, который в 50-х годах переселялся из коммуналки в собственный домик — пусть и небольшой пятиэтажный, который мы сейчас пренебрежительно называем «хрущевка», — ему это переселение доставило гораздо больше счастья и радости в жизни, чем любые красоты, которые ему могли бы быть навешаны сверху.

    Красота и понятность кода не совсем одно и то же. Самый понятный код — это код, которого нет. Чем меньше кода, тем лучше. Код из ста строчек понятнее кода из 10 000 строчек, как бы красиво и волшебно бы ни был написан второй. Это во-первых. Во-вторых, мне кажется, что понятность и вообще понимание кода — это как секс. В смысле, что лучше не заниматься в одиночку.


    Владимир Иванов
    Программирует 30 лет. В Яндексе — 22 года.

    Начал работать программистом Яндекса за несколько лет до старта собственно Яндекса. В 1992 году из того, что было, собрал в локальную сеть пять компьютеров — ночью, из любопытства. Когда Яндекс выделили в отдельную компанию, перешёл в неё заниматься сетью и долгое время руководил всеми NOC. Сейчас опять программирует — большей частью вещи, относящиеся к работе с сетью. Из проектов, которые вышли в свет, можно назвать FastDNS в Яндекс.Браузере. Глубоко понимая несовершенство мира, легко перепишет весь мир.

    Владимир Иванов

    Должен ли код быть красивым, зависит, конечно, от контекста. Наверное, код стиральной машины может быть не очень красивым, потому что его пишет не много людей. А когда в проекте участвует много народу, код должен быть, по крайней мере, не очень противным. Что такое грязное помещение, в котором окурки скрипят под ногами, это, наверное, понятно. Код тоже может быть таким, от которого хочется убежать, да. А там, где у человека возникает чувство неприятия, не хочется работать.

    Наверное, код должен быть в какой-то степени красивым, а в какой-то — приличным. Красивыми буквами можно написать глупость какую-то несусветную. А бывает… То есть это не только отступы, конечно.


    Анатолий anatolix Орлов
    Программирует 25 лет. В Яндексе — 9 лет.

    Первые два года в Яндексе писал Маркет, потом «чуть-чуть сделал питерский офис», долгое время занимался поиском — в основном его производительностью, а потом и всем остальным. Сейчас занимается разными проектами в области скорости, архитектуры и т.д. Говорят, Анатоликс — самый хитрый из программистов Яндекса.

    Анатолий Орлов

    Недавно я прошёл на «Курсере» курс по нейробиологии. В нём людей сажали в МРТ, показывали картины, и просили сказать, какие из них красивые, а какие — нет. Потом исследователи смотрели, какие зоны мозга активируются у участников. Короче говоря, при виде прекрасной картины активируется та зона мозга, которая отвечает за то, что можно есть, а при виде плохой — та, которая отвечает за убегание. Красивый код — это код, пригодный в пищу, и от которого не хочется бежать как можно дальше.

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


    Антон pg83 Самохвалов
    Программирует 18 лет. В Яндексе — 9 лет.

    Девять лет назад пришёл в Яндекс Маркет обычным программистом на C++. Работал над самыми разными задачами сервиса — нас тогда было очень мало. Через несколько лет перешёл в поиск, где занялся надежностью и производительностью runtime поиска. Много работал над нашим метапоиском, роботоловилкой, системой балансировки нагрузки. Сейчас занимается системой сборки, которая позволит собирать всю нашу кодовую базу за несколько минут на большом распределенном кластере. Антон принадлежит к группе программистов, которые говорят, что пишут сразу без ошибок. Только, кажется, он так делает, а не только говорит.

    Антон Самохвалов

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

    Код должен быть удобочитаемым, но это не делает его красивым. Я видел очень хорошо читаемый код, который, с моей точки зрения, красивым не является.

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


    Андрей Гулин
    Программирует 25 лет. В Яндексе — 9 лет.

    Пришёл в Яндекс программистом на C++. Первой задачей было переделать формат инвертированного индекса, чтобы записать в него информацию о точной форме слова в документах (до этого хранилась только лемма). Один из главных создателей Матрикснета, нашей технологии машинного обучения. Сейчас руководит службой ранжирования. Если бы Кнут не написал свой трехтомник, эту работу стоило бы отдать Андрею. Сам Андрей на вопрос, чем он занимается в Яндексе, ответил: «Я работаю за компьютером и делаю всякие штуки, чтобы всем было хорошо».

    Андрей Гулин

    Я не знаю, что такое красивый код. Красивый — это какая-то эстетическая категория. Умещается ли он на экран, напоминает ли картинку. Мне сложно оперировать этими понятиями. Они меня не очень-то интересуют, честно говоря.

    Лучший код — это код, которого нет. Поэтому если вам уже пришлось написать код, то что-то пошло не так. Но если уж вы его пишете, то пишите так, чтобы его было удобно читать. Потому что если человеку будет неприятно читать ваш код, то вы старались зря. Вообще написание кода занимает 10% времени, а остальные 90% — это чтение того, что уже было написано. Поэтому не знаю, нужен ли красивый код, а хорошо и удобно читаемый код — это важно.

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

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


    Андрей Мищенко
    Программирует 24 года. В Яндексе — 9 лет.

    Пришёл в Яндекс разработчиком на C++, долго был руководителем разработки Поиска по блогам и писал на Perl. Андрей — кандидат физико-математических наук. Сейчас работает с Андреем Гулиным над улучшением алгоритмов машинного обучения в поиске.

    Андрей Мищенко

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

    Его можно тренировать. Показывать программисту красивый код, учить его им восхищаться. И тогда тренированное чувство прекрасного поможет принимать правильные архитектурные решения. Они будут прямо казаться вам красивыми.

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


    Антон anton Волнухин
    Программирует 23 года. В Яндексе — 8 лет.

    Программист, решающий задачи кратчайшим путем. Пришёл в Яндекс в 2006 году менеджером проектов. Много лет был руководителем сервиса Поиск по блогам. Сейчас руководит группой распространения технологий: «Стараюсь сделать так, чтобы все знали о том, как много клёвых технологий есть в Яндексе, и повысить качество рассказов о технологиях и понимание их важности в России в целом».

    Антон Волнухин

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

    Должен ли код быть красивым, зависит от какой-то конкретной цели. В целом мне кажется, что да. Люди должны стремиться к тому, что им самим нравится. И красивый код — это что-то, что им нравится. Если люди пишут что-то, по их мнению, неприятное и ужасное, то им не будет нравиться то, что они делают. Тогда, например, и Яндексу будет плохо. Так что все должны стремиться писать красивый код, но с некоторыми исправлениями, которые с годами происходят в головах.


    Григорий bobuk Бакунов
    Программирует 25 лет. В Яндексе — 10 лет.

    На вопрос, чем он занимается в Яндексе, ответил: «Всем». Когда-то пришёл работать системным администратором, а сейчас — директор по распространению технологий.

    Григорий Бакунов

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

    Главная задача кода — решать задачу, которая перед ним поставлена. Самое главное, что должен делать код, — это работать. Можно разбить на стадии. Сначала код должен компилироваться (если это код на компилируемых языках), потом он должен проходить тесты, потом он должен работать. И в конечном итоге, если это код, обращённый к пользователю, он должен радовать его. То есть код выполняет огромное количество разных задач. Должен ли код радовать самого программиста? Ну, конечно же, должен. Иначе зачем ему, собственно, работать программистом? Не за деньги же мы все здесь работаем, правда?


    Вот такие мнения я собрала. По сути они отличаются только в том, какой код каждый считает красивым. Самое главное, с чем все соглашаются и в чем никто и так не сомневается, код должен работать. И большое значение имеет то, каково будет работать с вашим кодом коллегам. Наверняка и у вас есть своя точка зрения в этом вопросе. Интересно узнать, отличается ли она. Расскажите в комментариях.
    Яндекс 459,05
    Как мы делаем Яндекс
    Поделиться публикацией
    Комментарии 141
    • +80
      Должен ли код радовать самого программиста? Ну, конечно же, должен. Иначе зачем ему, собственно, работать программистом? Не за деньги же мы все здесь работаем, правда?

      Самая сильная фраза!
      • +83
        «Предпочтения у программистов в коде — они как у мужчин в женщинах: кому-то нравятся брюнетки, кому-то блондинки, а кому-то — не очень красивые женщины… Такие люди обычно на перле программируют.»

        Тоже круто.
        • +4
          Perl минусует?
          • –11
            Я не минусую. Просто некрасиво выдавать за цитату, то, чего нет в тексте.
            • +2
              Смотрите видео
              • +1
                Спс. Не имел возможности посмотреть видео, теперь понятно.
          • 0
            Я думал что ослышался! Оказывается уже 35 таких как я не ослышались )
            • –2
              Красивым код становится тогда, когда вокруг красоты не достает.
              • +2
                Я после вашего комментария понял, что видео таки нужно посмотреть :).
              • +6
                Можно поподробнее, в чем сила этой фразы?
                • +123
                  Это крик помощи. Яндекс не платит разработчикам
                  • +16
                    В свете этой фразы видео приобретает иные краски! Разработчиков держат в бетонном бункере с красочной надписью Яндекс, не платят деньги, плохо кормят, не предоставляют бритвенные принадлежности и заставляют писать красивый код и отчитываться сколько красивого кода, а главное почему красивого, они написали. Неожиданно!
                • –3
                  самая тролльская фраза :)
                • +5
                  Для меня например все просто, красивый код — это код который я не могу больше улучшить.
                  • +11
                    Т.е. для вас это работает только бинарно — или красивый, или некрасивый, без оттенков?
                    • +2
                      Тут вернее было бы сказать тогда идеальный код. Вот он −да, без оттенков.
                      Мое имхо.
                      • +2
                        ИМХО. Идеального кода не бывает, потому что совершенству нет предела.
                        • 0
                          print("Hello world!")?
                          • +6
                            echo же!
                            • 0
                              Может быть, это Perl, откуда вы знаете :)
                          • 0
                            Есть. Код, которого нет — вот истинное совершенство :-) Он действительно идеален.
                        • +1
                          Почему нет? В каждый момент времени вы либо можете улучшить код, либо нет. Какие тут оттенки?
                          • +3
                            Мне кажется, что ситуация, когда код вообще никак нельзя улучшить, встречается крайне редко. Вопрос в том, сколько на это уйдёт сил и времени.

                            Исходя из вашего определения, таким образом, получится, что красивый код почти не встречается.
                            • +3
                              Ну почему редко? Устал, смотришь в код и не видишь возможности сделать лучше. Бывает же :)
                          • +1
                            Ну почему же, градация есть, в зависимости от количества возможных улучшений.
                          • +12
                            Не бывало не раз такого? Пол года усердно полируешь полируешь код, а за это время он уже никому оказывается не нужным. Вот такой красивый и не нужный код…
                            • +8
                              Просто из опыта могу сказать, что код можно улучшать бесконечно, сегодня он кажется идеальным, а завтра ты с нуля все переписываешь) Поэтому тут нужно знать меру и выбирать правильный баланс между идеальностью кода и его полезностью. Правильно сказано: код должен быть не противным.
                              • +1
                                Бывало часто, поэтому оптимизации я стараюсь делать там где нужно, а сначала пишу код который просто работает.
                                • +1
                                  Вот такой красивый и не нужный код…

                                  … достойный экземпляр для палаты мер и весов :)
                                • +2
                                  «Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
                                  • 0
                                    Это уже идеальный код.
                                  • +16
                                    Чем опытней, тем менее категоричней. В итоге все приходят рано или поздно балансу в виде
                                    код должен быть, по крайней мере, не очень противным
                                    • +16
                                      Кстати, по моим наблюдениям, — менее категоричные сами пишут лучше.
                                    • +2
                                      Странно, что никто не упомянул конвенции.
                                      • +2
                                        Всё-таки, они скорее не о красоте, а о некоторых санитарных стандартах.
                                        • +1
                                          А то, как правильно пробелы расставлять, какие переменным имена давать, по каким файликам свой проект разложить и в какие папочки, я считаю суетой. Надо быть выше этого: как договоришься с коллегами, так и делай. Пусть другие об этом спорят.
                                        • +8
                                          Код сам по себе — почти чепуха, его можно переписывать. Даже если ничего не изменяется, он все равно по какой-то причине портится.

                                          Кен Томпсон
                                          • –7
                                            Должен ли код радовать самого программиста? Ну, конечно же, должен. Иначе зачем ему, собственно, работать программистом? Не за деньги же мы все здесь работаем, правда?


                                            Ну вообще то за деньги и только за деньги, перестань Вам их платить или платить хотя бы в 2 раза меньше Вы уйдете с этой работы. За последние лет 7 я почти не видел человека, который бы работал за моральное удовлетворение или за спасибо и которому бы не важен был уровень его ЗП.
                                            • +3
                                              Конечно, не только за деньги.
                                              • +12
                                                Если мне перестанут платить, или будут платить заметно меньше — безусловно я уйду.
                                                Но программировать я не перестану!
                                                • –5
                                                  А если будут платить больше, раза в 2 и скажут, что нужно перестать программировать, а руководить? Уверен, что перестанете программировать. Собственно вот он ответ на извечный вопрос, зачем мы работает — деньги зарабатываем.
                                                  • +5
                                                    не факт. Я вот скорее всего тоже уйду…
                                                    • +9
                                                      Боюсь не поверите, но у меня два года назад была такая же ситуация. Сделали начальником отдела, дали двух молодых программистов и аналитика, теперь на работе не программирую вовсе, только руковожу. Однако дома начал программировать вдвое больше (для души), не смог таки отказаться :)
                                                      • +11
                                                        95% вероятности, что Children.count() < 1
                                                        • 0
                                                          К счастью для моего внутреннего программиста — да. Программировать буду меньше, но хотеть программировать — отнють )
                                                          • 0
                                                            Хотеть не программировать, поэтому работу лучше выбирать по душе. Удачи в этом нелегком мире, в общем :)
                                                      • +3
                                                        Если Вы сейчас программируете только для того, чтобы стать руководителем и получать больше денег, то мне кажется вы избрали неверный путь для достижения своих целей.
                                                        Кесарю кесарево…
                                                        • –4
                                                          Дело в том, что если Вы программируете профессионально и это Ваш хлеб, то рано или поздно у Вас будет меньше этого хлеба или Вас вообще понизят или уволят. Просто есть такая штука как возраст, и с возрастом Вы не сможете держать ту высокую планку, как требует работодатель и выполнять так же быстро задания как программист моложе Вас. Конечно если Вам 25, то об этом задумываться рано, но когда Вам 35, то тут стоит очень хорошо подумать. Поэтому, тут два пути: первый — становится начальником программистов, и хоть сам Вы не будите программировать, зато останетесь на счету и в почете + будите получать больше, либо путь номер два — искать другую профессию. Вариант номер два гораздо сложнее для программиста, в виду некоторых особенностей склада ума, нельзя быть до 40 лет программистом, а в 41 стать телеведущим.
                                                          • +2
                                                            Мне кажется Вы немного заблуждаетесь. Я могу привести много примеров людей, который до сих пор программируют будучи уже в возрасте далеком от 35. Навскидку тот же Эрих Гамма — один из авторов книги про паттерны проектирования.

                                                            Вопрос у меня возник. Если бы работа мастера по укладке кафельной плитки Вам денег приносила больше, чем работа программистом, вы бы стали «кафельщиком»?
                                                            • –6
                                                              Дело не в том, что они программируют в возрасте за 40, а в том насколько эффективно, по сравнению с талантливым 25-летним программистом. И еще момент, одно дело работать на «дядю», другое на себя. Принимайте во внимание и этот факт.
                                                              И я могу привести другой пример, Линус Торвальдс, думаю он более известен чем Эрих Гамма. Дак вот он сейчас, по большей части, руководит разработкой ядра, а программирует гораздо меньше, чем как когда-то. Думаете почему?

                                                              Почему из бизнеса уходят в политику? Одна из причин — политикой можно заниматься и в 80 лет, руководить компанией из 5 тыс. сотрудников — нет.
                                                              • +2
                                                                Я считаю что возраст не имеет решающего значения в вопросе эффективности. Люди разные, соответственно и квалификация у них разная. Также в этом вопросе не будет однозначности, т.к. опыта в программировании будет больше в 40, нежели чем в 25.

                                                                Мне понятна Ваша мысль, как и понятны опасения, т.к. в молодую команду программистов вряд ли возьмут какого-нибудь «старца», потому что мыслят стереотипно и считают что он не уживется с «молодыми и амбициозными» (а зря, был положительный опыт).

                                                                По поводу Торвальдса не знаю — может не интересно стало или занят более важными занятиями.

                                                                По себе скажу, может я еще молод и глуп, но работаю вот не только ради денег. Руководителем быть пока что не хочу, да и не сумею (потому в свое время отказался от статуса CTO). Возможно моя позиция не окончательная и лет через эдак 10 я и пересмотрю свои взгляды, но вот пока так.
                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                  • +7
                                                                    Как-то вы однобоко сравниваете…
                                                                    Тупой 40 летний прогер и талантливый 25 летний.
                                                                    А вы сравните многоопытного, талантливого и т.д. и т.п. 40 летнего гуру программиста и 25 летнего новодела, который без гугла и foo buzz test не сможет сделать)
                                                                    В первую очередь играют роль личностные качества и уже потом все остальное.

                                                                    Все ваши примеры притянуты за уши и откровенно отдают юношеским максимализмом). Линус Торвальдс стал меньше программировать не потому, что отупел, а потому что организация разрастается, и кто-то должен руководить. Он, как автор начальной идеи, лучше всего подходит на роль продакт менеджера.
                                                                    Из бизнеса уходят в политику тоже не потому что тупеют, а потому что это следующая ступень власти, которая открывает новые возможности в том числе и по заработку.
                                                                    Опять же, далеко не все уходят из бизнеса в политку. Даже половина бизнесменов не уходит.
                                                                    Многие программисты, с возрастом, просто перестают метаться как молодняк, от одной технологии к другой. Перестают мерятся у кого больше аббревиатур в резюме. Они выбирают ту, которая им больше всего по душе и становятся в ней асами.
                                                                    • +1
                                                                      Вы глубоко заблуждаетесь по обоим пунктам. В политику уходят из тщеславия, а не потому что уже в полной немощи рулить бизнесом. Кто-то от жадности. И уж в редких случаях — от альтруистического желания служить своему народу вместо коллектива своей фирмы. Управлять государством независимо от мотивации (эгоизм или альтруизм) неизмеримо сложнее, чем фирмой, где вы по сути диктатор и можете выпилить все деструктивные элементы, например. Но это все за скобками сабжа.

                                                                      Не всем программистам найдется руководящее место, так уж сложилось, что руководителей меньше чем подчиненных. Но в этом нет никакой трагедии. Работа программиста как раз одна из тех, где качество куда важнее скорости. И спешить обычно как раз не стоит. Старый конь борозды не испортит. Место профессионалу найдется всегда.

                                                                      (не говоря уже о факторе наших зарплат. Джуниоры в других профессиях столько не получают)
                                                                  • 0
                                                                    Больше позитива, бро!
                                                                    • +1
                                                                      Кризис среднего возраста к товарищу пришел :)
                                                                      Пройдет.
                                                          • +20
                                                            Фраза — «Суммарный опыт программирования всех участников этого микроинтервью на восьмерых составляет 198 лет.». Напомнила мне вот эту
                                                            «Девять женщин не родят ребенка за один месяц».
                                                            • +9
                                                              Вот напишешь без смайлика, и все всерьёз воспринимают.
                                                            • +6
                                                              Девять женщин не родят ребенка даже за 100 лет. Нужен еще мужик.
                                                            • 0
                                                              но за 9 месяцев они смогут родить 9-рых.
                                                            • 0
                                                              Собственно ожидаемо, от этого и засада на собеседованиях. После вопроса — «Что такое красивый\хороший код?», пытаешься угадать мысли и внутренний мир собеседника, реагируя на мимику.
                                                              • 0
                                                                Угадывать? Но зачем?
                                                                Это ведь не экзамен по предмету, о котором впервые услышал накануне сдачи.
                                                              • +4
                                                                Ох! Как же отлично прослеживается зависимость между возрастом (опытом) человека и его понимаем проблемы. Старожилы ведут речи о высоком, о внешнем виде, о приятном чтении исходников, а в глазах тоска и усталость от многочасового чтения говнокода. Молодняк же давит на практическую сторону, на конечный продукт и скорее оправдывается, чем ищет истину.
                                                                • 0
                                                                  А есть ли она, истина, единая и неоспоримая для всех и каждого, единое мерило, способное удовлетворить любого?
                                                                • +1
                                                                  Еще бы пример сорцов от каждого участника — что они считают красивым кодом?
                                                                  Или еще лучше: вот захотел я красоты, в каких проектах мне её подсмотреть? Книгу «Чистый код. Создание, анализ и рефакторинг» Роберта К. Мартина — знаю. А еще?
                                                                  • 0
                                                                    Философия UNIX? Не код, но фундамент точно
                                                                    • 0
                                                                      +1, согласен с вами. Разговоров много, интересных и познавательных, а вот кода нет, ни в статье, ни в комментах. Было бы здорово подискутировать, предложить разные варианты.
                                                                    • 0
                                                                      Вот мое понимание красивого кода:
                                                                      красивый код должен неожиданно и приятно удивлять своего автора своей гибкостью, когда идет процесс его модификации. А также радовать своей безотказностью при применении в сложных и новых ситуациях.
                                                                      • 0
                                                                        Я считаю красивым тот код, который является наиболее простым для решения конкретной задачи. Простым с точки зрения как программиста, так и компьютера.
                                                                        К этому выводу я пришел следующим путем: думаю никто не будет спорить с утверждением, что красота кода понятие относительное. Если учесть, что в коде можно сделать только два вида изменений — в лучшую или в худшую сторону — то любое изменение программист будет считать улучшением кода (ведь никто сознательно не станет портить свой код, это возможно только от незнания альтернатив). Следовательно для данного программиста код будет красив тогда, когда в нем невозможно будет больше делать изменения в лучшую (по знаниям программиста) сторону, а этому требованию может отвечать только простой код (в сложном коде больше мест для изменений).
                                                                        Залез в философию )
                                                                        • +2
                                                                          Zalina
                                                                          1) Сложно не отметить шикарное начало ролика! Именно таким должно быть введение в программерскую тематику. Понятно про что ролик. При этом ни одного лишнего слова. И все это из уст очаровательной юной девушки!
                                                                          2) Также хочется услышать мнения программеров Вашей компании по поводу сред разработки. К примеру в видео мелькали VIM(было бы здорово посмотреть на конфиг к нему) и IDEA.
                                                                          • 0
                                                                            1. Спасибо! Не буду рассказывать, какой это дубль :)
                                                                            2. Да, мы сами тоже думали, что стоит затронуть эту тему. Возможно, в ближайших роликах порассуждаем и на неё.

                                                                          • 0
                                                                            лол, вы бы видели код Гулина.
                                                                            • +1
                                                                              Хороший код это предсказуемый код. Который читаешь и уже примерно предполагаешь где и что лежит дальше.Имеет он при этом комментарии и как форматирован неважно. Главное его можно легко понять исправить и продолжить.
                                                                              • 0
                                                                                Если Вы пишите комментарий, то может следует подумать что комментарий который вы пишете это на самом деле имя новой функции?
                                                                              • +1
                                                                                Нумерация строк в виме снизу вверх — это экстравагантно!
                                                                                (1:18)
                                                                                • +1
                                                                                  Там нумерация относительна позиции курсора (опция relativenumber). Т.к. курсор находится внизу, у Вас создалось впечатление, что она снизу вверх. Выглядит это так:

                                                                                  • 0
                                                                                    А для чего надо? Можете привести user-story когда это помогает и действительно необходимо?
                                                                                    • +1
                                                                                      Не нужно считать строки для команд вида 5k
                                                                                      • 0
                                                                                        Действительно необходимо — вряд ли, удобно — однозначно.
                                                                                        Например, вы хотите удалить N следующих строк. Вы можете выполнить dd и клацать точку N-1 раз, а можно набрать Ndd. Если использовать обычную нумерацию, то Вам придется вычислять N (так, я нахожусь на 13-й строке, хочу удалить до 27, тааааак...). Относительная нумерация сразу показывает Вам N.
                                                                                        • 0
                                                                                          А Visual Mode в таком случае разве не удобнее?
                                                                                          • 0
                                                                                            Дело вкуса.

                                                                                            В случае с относительными номерами, это, как минимум быстрее.
                                                                                            Вы видите строку до которой хотите удалить (или другое действие), смотрите на номер рядом с ней (например 8) и набираете 8dd — 3 нажатия.

                                                                                            В случае с визуальным режимом будет что-то типа Vjjjjjjjd.

                                                                                            И вообще, я ничего не пропагандирую — я просто объяснил почему у работника Яндекса такая нумерация и для чего она может быть нужна.
                                                                                            • 0
                                                                                              Небось вы еще и goto используете в своем коде? -_- (шучу)
                                                                                              В Vim реже всего используется именно VM
                                                                                            • 0
                                                                                              Delphinum и truezemez Спасибо за разъяснение, а то пока на этапе тренировки рук для VIM еще не перешел )))
                                                                                              • +1
                                                                                                Попробуйте воспользоваться Vimperator (если вы с firefox) и процесс перехода станет приятнее ;)
                                                                                    • +3
                                                                                      Порадовали ответы г-на Бакунова. Кстати, сейчас стартанул новый курс по алгоритмам на курсере (https://class.coursera.org/algs4partI-004). И первая цитата из лекции была:

                                                                                      «Bad programmers worry about the code. Good programmers worry about data structures and their relationships.» (с) Linus Torvalds

                                                                                      Без обид Яндекс! Вашу курсы ШАД тоже просто отличные! :)
                                                                                      • 0
                                                                                        А вот еще такой вопрос, тем кто находит красоту в коде, а может ли он быть с блоками try catch, утверждениями (assert) и с условиями проверки валидности? То есть со всем, что страхует программистов и пользователей от ошибок.
                                                                                        • 0
                                                                                          Ага, и логирование на каждую строчку, да. Вроде и хорошо, но читать потом невозможно :)
                                                                                        • +1
                                                                                          Девушка подошла к вопросу чисто по-женски и добавила в него неуместную эмоциональную составляющую. Давайте спросим, должен ли быть красивым токарный станок или телескоп.
                                                                                          • 0
                                                                                            А что плохого в функциональном, но одновременно красивом устройстве?
                                                                                            • –1
                                                                                              Неправильно поставлен вопрос. Надо спросить «что плохого в том, чтобы называть код красивым». Выражение «красивый код» говорит о личном отношении смотрящего. Вопрос «что такое красивый код» равносилен вопросу «что такое любовь». А вопрос «и нужен ли он» — вообще добивает, так как все зависит от того, что понимать под красотой, а отдельно взятый человек может понимать совершенно разные вещи в зависимости от контекста.
                                                                                              • 0
                                                                                                Должен ли быть красивым леопард? Или болид Формулы-1? Для функциональности красота, вроде бы, не нужна. Но по мере улучшения характеристик устройство становится всё более совершенным, и в конечном итоге это совершенство воспринимается нами, как красота.
                                                                                                • 0
                                                                                                  Вы утверждаете, что знаете, что для меня красиво, а что нет? Или «нами» — это какая-то особая группа ценителей красоты, в которую Вы попали, а я нет?
                                                                                                  • 0
                                                                                                    Ну, раз уж Вы акцентируете внимание на этом пункте…
                                                                                                    Когда Вы спрашивали, «должен ли быть красивым токарный станок или телескоп», то не уточняли, для кого он должен быть красивым. Следовательно, неявно предполагалось некое понятие «красивости», не зависящее от субъекта. Иначе вопрос был бы — «должен ли станок или телескоп быть красивым именно для меня?». Так что выбирайте — либо существует «группа ценителей», для которой работает понятие «красиво вообще», либо каждый раз указывайте — для кого конкретно некое нечто должно быть красивым.
                                                                                                    Должен ли токарный станок быть красивым для разработчика? Для покупателя? Для токаря? Для инспектора токарных цехов? Для посетителя музея, где этот станок окажется в итоге? И что в данном контексте значит «должен»? Может быть красивым, может не быть. Окажется некрасивым — будет какой-то штраф (в широком смысле). Где грань между «неплохо бы» и «должен»?
                                                                                                    "- Эти ягоды можно есть? — Можно. Только отравишься." (с)
                                                                                                    • 0
                                                                                                      Следовательно, неявно предполагалось некое понятие «красивости», не зависящее от субъекта.

                                                                                                      Понятие «красиво» — субъективное. Точка. Всего…
                                                                                            • +3
                                                                                              Так Андрей Плахов и говорит мне, что это похоже на вопрос о том, должен ли быть красивым дом — не обязан, но было бы хорошо. Это довольно глубокий вопрос обо всем тогда. Должен ли быть красивым смартфон? Должны ли быть красивыми автомобили? Должна ли быть красивой посуда на кухне? Кажется, необязательно, но очень приятно пользоваться такой. Людям нравятся вещи с хорошим дизайном. Вы какой телескоп при прочих равных возьмете? С хорошим дизайном или обычный?
                                                                                              • 0
                                                                                                Не все так просто. Вот если говорить про телескоп — тогда смысл слова «красивый» становится очевидным и никого не путает. А если о программировании, то слово «красивый» воспринимается как синоним какому-то другому слову, как если бы говорили о красоте решения теоремы какой-то. Но вот синоним какого слова? Каждый понимает по-своему. Поэтому разговор получается очень лирический. Обо всем и ни о чем одновременно. Один рассуждает о мягком, другой — о теплом, третий — о глубине вопроса.
                                                                                                • 0
                                                                                                  Андрей Плахов все правильно говорит, а потом уходит от сути вопроса рассуждая о красоте в прямом смысле слова, потому что иначе тут не о чем говорить. Что такое красота кода? Чтоб было не стыдно на стену распечатать? Это уже к художникам, а не к программистам нужно обращаться :)
                                                                                                • 0
                                                                                                  Однозначно должен быть! Очень неприятно смотреть на всего лишь поржавевший станок, который хоть и работает, а на поржавевший телескоп вообще с опаской смотришь… глядишь, прям на месте и рассыплется.
                                                                                                  • 0
                                                                                                    Вот видите, даже подразумевая красоту в прямом смысле слова каждый понимает свое: я имею в виду золотую оправу, а вы — отсутствие ржавчины.
                                                                                                    • 0
                                                                                                      Золотая оправа и инкрустация самоцветами для инструмента скорее не «красиво», а «аляповато».
                                                                                                      Хотя некоторым может и нравиться.
                                                                                                      • 0
                                                                                                        Ну хорошо, смотрите. Тут был поднят вопрос «что такое красивый код». Теперь вы поднимаете вопрос «что такое красивый телескоп». Проблема в том, что красота — понятие субъективное. Давайте для начала обсудим вопрос «что такое красота». Тут в продолжение этого поста человек поднял опрос, он там явно определил понятие «красивый код». Вы можете быть с ним согласны или не согласны, но по крайней мере он определил понятия в рамках своего опроса. Поэтому его опрос содержит конструктив.
                                                                                                • +1
                                                                                                  Ох, уж эти сказошники… :)
                                                                                                  • –1
                                                                                                    «Сделайте нам красиво...»

                                                                                                    Пока не заминусовали, открою страшную тайну. Имеются ГОСТ 28195-89 Оценка качества программных средств. Общие положения и ГОСТ 28806-90 Качество программных средств. Термины и определения, в которых кривовато, но исчерпывающе расписаны все «красивости» программного кода. Так что тема изначально высосана из пальца, эти 2 стандарта многократно перекрывают все без исключения комментарии.

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

                                                                                                    Теперь минусуйте.

                                                                                                    • +3
                                                                                                      Ну так сколько лет этому ГОСТу-то!
                                                                                                      • –2
                                                                                                        Типичная отговорка — «типа все ГОСТы устарели». Наитипичнейшая, поскольку, как правило, другие аргументы не приводятся :)

                                                                                                        Вы их внимательно почитайте, а потом скажете, много ли изменилось на текущий момент и что в этих ГОСТах неправильно. Но предупреждаю сразу: ГОСТ — это не водевиль, читается достаточно тяжело, язык очень формальный.

                                                                                                        А понятие «красивость программного средства (кода)» Вы нигде не найдете — гарантирую :)
                                                                                                        • 0
                                                                                                          Есть одна проблема в текущем техническом образовании. Мало акцентируют у студентов внимание на термины. Читая статьи и комментарии, можно наткнуться на то, что большое количество хаброюзеров использует термины абсолютно не вдумываясь в их значение. «Принцип» вместо «способ» или «архитектура» вместо «структура» — легко и просто. А без этой основы, правильно понять ГОСТ, на мой взгляд — невозможно.

                                                                                                          Поэтому, сколько бы вы ни писали про ГОСТ, многие вас, просто, не поймут.
                                                                                                    • +1
                                                                                                      Почти все опыт программирования ~25 лет… Уважуха мужикам!!! :)
                                                                                                      • +2
                                                                                                        Для меня красивый код, это тот в код, в котором очень быстро разберется твой коллега.
                                                                                                        • –1
                                                                                                          Понимаемость программного средства (understandability) по ГОСТ 28806-90

                                                                                                          Совокупность свойств программного средства, характеризующая затраты усилий пользователя на понимание логической концепции этого программного средства. Примечание — Под логической концепцией подразумеваются основополагающие понятия, принципы и соглашения, придающие системе правил работы пользователя с программным средством согласованный и обоснованный характер и позволяющие логически точно определять конкретное назначение и содержание этих правил [из п. 3.1 Прил. 2 ГОСТ 28806-90]

                                                                                                          Вот как-то так, только применительно не к пользователю, а к кодировщику. Меняем пользователя на коллегу и получаем определение «красивости» кода :)
                                                                                                          • 0
                                                                                                            Если вчитаться в определение, то так оно и есть :)
                                                                                                            • 0
                                                                                                              А всего лишь какой-то «безнадежно устаревший» ГОСТ… :) На любой вопрос всегда найдется ответ, а эта пурга из комментариев юных дарований совершенно пуста. Сейчас совсем заминусуют, карму понизят…

                                                                                                              Как я люблю ГОСты… Прекрасный инструмент, позволяющий прижать к ногтю оппонента любого ранга, довести до истерики любого «эксперта», выиграть бешеный конкурс и, наконец, СНЯТЬ С СЕБЯ ЛЮБУЮ ОТВЕТСТВЕННОСТЬ :)

                                                                                                              Только Вы меня понимаете, SowingSadness :) Все остальные — ПЛОХИЕ :)

                                                                                                              И напоследок:

                                                                                                              Удобство использования программного средства (usability) по ГОСТ 28806-90

                                                                                                              Совокупность свойств программного средства, характеризующая усилия, необходимые для его использования, и индивидуальную оценку результатов его использования заданным или подразумеваемым кругом пользователей программного средства [из п. 15 разд. 2 ГОСТ 28806-90]
                                                                                                        • +1
                                                                                                          Я думал, что Орлов сейчас попросит провести исследование с помощью МРТ :)
                                                                                                          • +2
                                                                                                            Как видно, совершенство достигается не тогда, когда уже нечего прибавить, но когда уже ничего нельзя отнять.
                                                                                                            Антуан де Сент-Экзюпери.

                                                                                                            ps. английский вариант применительно к коду, правда больше подходит:
                                                                                                            It seems that perfection is attained not when there is nothing more to add, but when there is nothing more to remove.
                                                                                                            • –7
                                                                                                              а чего они через одного «Р» не выговаривают?
                                                                                                              • +2
                                                                                                                После вашей реплики вспоминается Жванецкий:

                                                                                                                О чем может спорить человек, который не поменял паспорт? Какие взгляды на архитектуру может высказать мужчина без прописки?

                                                                                                                И вообще, разве нас может интересовать мнение человека лысого, с таким носом? Пусть сначала исправит нос, отрастит волосы, а потом и выскажется.
                                                                                                              • 0
                                                                                                                Слово и дело:

                                                                                                                // The following code is no longer required ...
                                                                                                                ...<boat anchor>...

                                                                                                                Допустимы ли антишаблоны в красивом исходном коде?
                                                                                                                • 0
                                                                                                                  А это вот возможно именно тот случай, про который и говорил Гулин. Код из Интернета, в котором пытаются разобраться программисты Яндекса.

                                                                                                                  Меня теперь мучает другой вопрос — разработчики в Яндексе оставляют комментарии в коде на английском или на русском?
                                                                                                                  • 0
                                                                                                                    Хочется верить, что подобное не уходит в релиз. Хотя, сам факт возникновения этого поста свидетельствует о том, что Яндекс дошел в своем развитии до необходимости решения таких проблем. И это радует.

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

                                                                                                                    комментарии в коде на английском или на русском?

                                                                                                                    IMHO Ключевые слова, константы, переменные… — на «английском», тогда логично, что и комментарии на том же языке. Иначе будут ненужные сложности перевода для неминуемо связанного «embedded language» в комментариях. Да, и неоднократно доказано, что правильно написанные комментарии на английском будут короче, обеспечивая тот же объем информации.

                                                                                                                    • 0
                                                                                                                      IMHO Ключевые слова, константы, переменные… — на «английском», тогда логично, что и комментарии на том же языке. Иначе будут ненужные сложности перевода для неминуемо связанного «embedded language» в комментариях. Да, и неоднократно доказано, что правильно написанные комментарии на английском будут короче, обеспечивая тот же объем информации.


                                                                                                                      Ну и на мой взгляд комментарии на английском удобней по ряду причин (не надо менять раскладку, при редактировании кода по SSH нет запарок с кодировкой и т.п.), просто интересно стало как в Яндексе обстоит. На работе меня в свое время «били по рукам», т.к. общепринятым было комментарии формировать на русском языке.
                                                                                                                      • 0
                                                                                                                        Расстраивает другое — когда инженер обосновывает решения своим чувственным восприятием мира, то это значит, что он не знает, как технически правильно решить задачу.

                                                                                                                        С точностью до наоборот.
                                                                                                                        Для того, что бы увидеть «красоту» либо «уродливость» определённого решения нужно иметь чёткие представления о том, как это должно быть сделано правильно и как делать не следует.

                                                                                                                    • 0
                                                                                                                      Там дальше «except mango returns all the hits in ExtractSnippetsHit» т.е. код не мёртвый.
                                                                                                                      • 0
                                                                                                                        Без разницы. Программа это идея воплощенная в исходном коде. Комментарий свидетельствует, что в коде воплощена «некрасивая» идея. Процесс разработки обязан уметь отслеживать наличие подобных проблем в коде для возможности их оценки и, возможно, исправления. Рассматриваемый комментарий серьезно затрудняет это. Именно поэтому он некрасивый.

                                                                                                                        «Красивый» коммерческий(!) код обязан быть прагматичным.

                                                                                                                        Например, этот комментарий мог бы быть таким:
                                                                                                                        // FixMe #100500
                                                                                                                        где #100500 это ссылка на запись в используемой системе отслеживания проблем.

                                                                                                                        Однако, если использовать «notepad» в качестве инструмента разработки, то такой вариант будет не очень удобен. Поэтому, «красота» кода не может рассматриваться вне контекста проекта, процесса разработки и в отрыве от используемых инструментов.

                                                                                                                    • +2
                                                                                                                      Что-то я не понял:
                                                                                                                      Владимир Иванов
                                                                                                                      В Яндексе — 22 года.

                                                                                                                      вики:
                                                                                                                      1997 — запущена поисковая система «Яндекс» в компании CompTek
                                                                                                                      2000 — основана компания «Яндекс»

                                                                                                                      как так?
                                                                                                                      • +1
                                                                                                                        Начал работать программистом Яндекса за несколько лет до старта собственно Яндекса. В 1992 году из того, что было, собрал в локальную сеть пять компьютеров — ночью, из любопытства. Когда Яндекс выделили в отдельную компанию, перешёл в неё заниматься сетью и долгое время руководил всеми NOC.


                                                                                                                        в статье вроде как черным по-белому, или Вы только видео смотрели :)?
                                                                                                                        • 0
                                                                                                                          Я только видео посмотрел. Спасибо, нашёл в тексте, где я ошибся.
                                                                                                                        • 0
                                                                                                                          Но эта компания ведь с чего-то выросла… часто бывает так что сначала что-то делают, а потом оформляют под это дело фирму, придумывают звучащее название и т.д.
                                                                                                                        • +1
                                                                                                                          Меня пока что поразило как это люди столько лет програмят? на вид всем от 25 до 35.
                                                                                                                          Например, Анатолий anatolix Орлов, 25 лет программинга, а возраст Анатолия 34 года. Что-то тут не сходится. Хотя, если называть программированием пробы на первых синклерах в бейсике писать что-то типа let a = b + 5, тогда всё логически сходится.
                                                                                                                          • 0
                                                                                                                            А вам было бы интересно слушать 34 летнего Анатолия, который программирует 4 года?
                                                                                                                            • 0
                                                                                                                              Я не об этом. Опытного человека очень интересно слушать. Я сам начал изучать азы программирования ещё с 6 летнего возраста и пытался писать на ассемблере в 14 лет, но тем не менее, не могу назвать это программированием. И называю программированием именно профессиональную деятельность. Хотелось бы уточнить эту логическую загадку.
                                                                                                                              • 0
                                                                                                                                Я тоже не об этом ) я вас сразу понял. Думаю авторы просто захотели добавить авторитета выступающим.
                                                                                                                                • 0
                                                                                                                                  Есть проекты, где год за два считается.
                                                                                                                                  • 0
                                                                                                                                    Думаете они из этого исходили при указании стажа?
                                                                                                                                    • 0
                                                                                                                                      Думаю, что цифры нужно читать, как «гуру» фирмы. И эти ребята были выбраны авторами публикации, чтобы представить годами наработанное мнение 6000-ного коллектива по профессиональному вопросу, который важен для любого программиста.
                                                                                                                            • +4
                                                                                                                              На самом деле, я просто спрашивала участников видео, со скольки лет они программируют, и дала возможность самим решать, какой момент они могут обозначить как «я начал программировать». Признаюсь, я склоняла и искушала внести в счет даже первый калкулятор :) И кто-то назвал этот момент, а кто-то — тот, когда написал более серьезную программу. Андрей Гулин, например, вспомнил, что программировать начинал еще в уме, потому что компьютера не было.
                                                                                                                            • –2
                                                                                                                              Как-то подленько-подленько и трусливо тут все. Кто-то снижает карму и т.п. — хочется дать ему в рожу — а нет возможности… Анонимоус, однако. Понятно, когда банит админ — это адресно и есть кому предъявить претензии. А тут… Быдлофорум очередной. Жаль только, что даже доктора наук на это купились. Разумные, казалось бы, люди. Не нашли себе адекватного ресурса.

                                                                                                                              Напоследок — нате! Государственные стандарты в информационных технологиях (ИТ). Часть I — почему мы не любим ГОСТы и что нам за это будет?

                                                                                                                              ЗЫ. И ссылки не работают. Кому интересно — сами найдете по ключевым словам.
                                                                                                                              • +2
                                                                                                                                Не нервничайте, это вредно. Как для местной кармы, так и для кармы вообще.

                                                                                                                                Слили вас, скорее всего, не за содержание ваших предыдущих комментариев, а за их форму. Не любят здесь шибко дерзких, высказывающихся в виде «вы все пи**расы, а я — д'Артаньян».
                                                                                                                                • 0
                                                                                                                                  Не царское это дело — нервничать :) Генералам прикажем — это их задача :)

                                                                                                                                  Форма — фантик, не так ли? Любят джуниоры фантики.

                                                                                                                                  За формой не видят сути. Подмена понятий. Господь им судья. И мне что — расстраиваться из-за этого? Вот уж нет уж.

                                                                                                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                                                              Самое читаемое