На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (10) [1] 2 3 ...  9 10 все  ( Перейти к последнему сообщению )  
> Комментировать ли код?
    Я никогда не пишу комментарии к своему коду. Я считаю это занятие пустой потерей времени.
    Я не люблю читать чужой код, если в нем есть комментарии. Они замедляут меня, т.к повторяют то, что написано в коде.

    Интересно ваше мнение.
      Цитата MIF @
      Я никогда не пишу комментарии к своему коду. Я считаю это занятие пустой потерей времени.

      Больше времени потратишь, когда будешь вспоминать что там написано.

      Цитата MIF @
      Они замедляут меня, т.к повторяют то, что написано в коде.

      Это неправильные комментарии.
        Предпочитаю комментировать, т.к. через некоторое время сложнее вникать, что там такое. Но комментарии не так, что чуть ли не на каждую строчку, а на блок кода, выполняющий какое-то логически законченное действие.
          Цитата MIF @
          Я никогда не пишу комментарии к своему коду. Я считаю это занятие пустой потерей времени.

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

          Цитата MIF @
          Я не люблю читать чужой код, если в нем есть комментарии. Они замедляут меня, т.к повторяют то, что написано в коде.

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

          Ну вот для примера тут как раз на глаза попалась функция. Как раз чужие исходники разбираю. Все комментарии удалил. Сколько надо времени, чтобы понять, что делает эта функция?

          ExpandedWrap disabled
            int AxisData::GetPosInv( double Value )
            {  
                if ( Logarithmic )
                {
                    if ( Value == 0 )
                        return (int)(fabs(log10(Min))/Scale);
                    else
                        return (int)((log10(Max)-log10(Value))/Scale);
                }
                else
                    return ( (int)((Max - Value)/Scale) );
            }
          Сообщение отредактировано: Nich -
            Цитата Medevic @
            Цитата MIF @
            Я никогда не пишу комментарии к своему коду. Я считаю это занятие пустой потерей времени.

            Больше времени потратишь, когда будешь вспоминать что там написано.

            Цитата MIF @
            Они замедляут меня, т.к повторяют то, что написано в коде.

            Это неправильные комментарии.

            полностью согласна и с первым и со вторым.
            если комменты замедляют чтение - в топку такие комментарии. я сейчас работаю нас несколькими проектами, которые сущетсвовали уже до меня. и вот некоторые куски кода у меня просот приступы агрессии вызывают: либо нет комментов вообще, либо есть типо
            ExpandedWrap disabled
              //это переменная типа int. длйы начала она инициилизируется на 0
              int i=0;

            aaaaaaaaaa!!!! это как раз я и сама читать умею. а вот когда перед функцией написана строчка-две, что она (функция) делает - это толково

            Добавлено
            кстати, не только для других надо комментировать: гляньте в свой код 4-х летней давности, например. неужели все так понятно с лету?
              Цитата nastenka @
              кстати, не только для других надо комментировать:

              :yes:
              Цитата nastenka @
              гляньте в свой код 4-х летней давности, например. неужели все так понятно с лету?

              :no:

              Мой код 4-летней давности это ваще жесть :lol: Ща ссылку кину на примерчик.

              Символьное дифференцирование Без комментариев там бы вообще атас был бы :whistle:

              Добавлено
              Такие комментарии, конечно, излишние:
              ExpandedWrap disabled
                tree_elem() // Конструктор структуры - присваивает начальные значения
              Сообщение отредактировано: Nich -
                Цитата Nich @
                Сколько надо времени, чтобы понять, что делает эта функция?
                Вернуть отмаштабированное расстояние от максимально допустимого значения. Использовать логарифмическую формулу (с исключением при входном параметер = 0) либо линейную в зависимости от значения глобальной (модульной) переменной.
                Сколько времени - засекать не стал, т.к. сейчас поздний вечер и я подштофе, производительность мозга невелика.

                Цитата nastenka @
                вот когда перед функцией написана строчка-две, что она (функция) делает - это толково

                Имя функции должно обяснять, что она делает.

                Цитата nastenka @
                гляньте в свой код 4-х летней давности, например. неужели все так понятно с лету?
                Да.
                  Цитата MIF @
                  Сколько времени - засекать не стал

                  Ну так это же ключевой момент ;)
                    Цитата Nich @
                    Ну так это же ключевой момент
                    Ну, выложи еще кусок кода. Я завтра на работе на свежую голову прочитаю код и засеку время.

                    Кстати, тест некорректен. Я утверждаю, что читаю код без комментов быстрее, чем код с комментариями. Выложи два куска кода одинаковой сложности, один с комментариями, другой - без них ...
                      Я категорически ЗА комментарии в коде. За грамотные комментарии. Я еще понимаю людей, которые не используют венгерскую нотацию в именовании переменных, но код должен быть откомментирован. Элементарно перед описанием функции мне приятно видеть объяснение что эта функция делает. Это значительно упрощает поиск нужного куска кода.
                      А в больших проектах, над которыми трудятся несколько разработчиков, это просто незаменимо

                      Очень распространено, например, следующее явление
                      ExpandedWrap disabled
                        //++ 10.10.2005 by SeaGirl
                        //Добавлена проверка и отображение украденных счетчиков
                        //Согласно письму №ХХХ-ХХ от такой-то даты
                         
                        if CountersQuery.FieldByName('Status').AsInteger=10 then
                        ...


                      Иногда еще в комментариях разработчики могут обменяться впечатлениями о заказчике ;)
                        Цитата MIF @
                        Имя функции должно обяснять, что она делает.

                        угу, и что она в каком случае возвращает - тоже имя должно делать? ну-ну
                          я ЗА комменты, при чем грамотные
                          Вот неправильный
                          Цитата
                          а=1;//Присваиваем а 1


                          это правильные комменты
                          Цитата

                          //Проходим по всей колекции для подсчета тогото и сегото
                          for i = 0 to object.length()-1 do
                          ...
                          ...
                          loop

                          return true; //заглушка


                          кстати такие коменты намного ускоряют чтение кода можно пропускать целые секции...
                          Сообщение отредактировано: Outlander -
                            Цитата
                            Комментировать ли код?

                            :yes:
                            но естественно смысловые комментарии..

                            не так давно пришлось писать в сжатые сроки, времени на коменты пожалел, а через месяц нужно было кое-что доработать, так в некоторых местах пришлось практически заново разбираться: зачем нужен "этот" код и что он делает :wacko:
                            так что коментарии рулят
                              Цитата MIF @
                              Я не люблю читать чужой код, если в нем есть комментарии. Они замедляут меня, т.к повторяют то, что написано в коде.


                              а если пользуешься чужой библиотекой и у тебя нет спецификации на нее ;)

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

                              потом, смотря какого типа язык
                              ИМХО ООП - более понятен для человека, нежели процедурный

                              Цитата MIF @
                              Имя функции должно обяснять, что она делает.

                              обязательно , как и имена переменных, и названия типов данных
                              но вот
                              Цитата nastenka @
                              и что она в каком случае возвращает

                              действительно не всегда понятно
                              особенно в чужом коде
                                Про то, что возвращает функция.
                                Я даже знаю, что скажет скептический MIF на это.
                                Можно ведь константами задать значения, которые может возвращать функция, дать этим константам понятные имена и вуаля. Но комментарии все равно необходимы.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (10) [1] 2 3 ...  9 10 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0459 ]   [ 14 queries used ]   [ Generated: 20.05.24, 05:35 GMT ]