В чём разница между быдлокодом и нормальным программированием?

A1x

Новичок
phprus, Духовность™ - да там целая глава про комментарии - страниц 20. В том числе и про то когда они нужны
просто мы привыкли что всегда "Комментарии нужны и важны." - и пишем их по поводу и без а часто они только захламляют код.... ну тут надо пересказывать о что написал Мартин - лучше почитайте
 

A1x

Новичок
Основная идея там в том что если видишь что нужен комментарий - попробуй переписать код так чтобы комментарий был не нужен
 

Adelf

Administrator
Команда форума
Духовность™
Приведи пример мегаполезного комментария.
 

Духовность™

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

Adelf

Administrator
Команда форума
Архитектурное решение - это часто довольно объемная штука. И возникает вопрос где помещать коммент об этом. Имхо, ему самое место в тех. спеке, а не в коде.

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

tz-lom

Продвинутый новичок
PHP:
    protected function doProcess(&$value)
    {
        $flag = 0;
        foreach($this->config as $flagvalue)
        {
            switch($flagvalue)
            {
                case 'IPv4':
                    $flag = $flag | FILTER_FLAG_IPV4;   
                break;
                case 'IPv6':
                    $flag = $flag | FILTER_FLAG_IPV6;
                    break;
            }   
        }
        if(($flag & ( FILTER_FLAG_IPV4|FILTER_FLAG_IPV6 ))==( FILTER_FLAG_IPV4|FILTER_FLAG_IPV6 ))
        {
            // because of errors in PHP <5.4, with both flags raised is not working properly, but not both of them working properly
            $flag = $flag ^(FILTER_FLAG_IPV4|FILTER_FLAG_IPV6);
        }
        return (bool)(filter_var($value, FILTER_VALIDATE_IP, $flag));
    }
пример когда комментарий нужен - он описывает и что за вырвиглазина написана и почему
 

phprus

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

Я согласен когда делают какой-то мега-хитрый математический выверт, ибо работает быстро и ситуация требует. Там можно описать почему и зачем он был сделан и на основе какого алгоритма все. Но ситуации такие редки и фактически этот коммент означает признание того, что код плохой, но ситуация потребовала.
Раньше я тоже так думал, а после того как стал писать и математику/физику в том-числе, изменил свое мнение.
Код считающий математику/физику чаще всего не плохой, хотя и кажется таковым. Он просто пишется с опорой на другие принципы, которые не похожи на принципы разработки обычных бизнес-приложений.
 

Krishna

Продался Java
1) Комментарии нужны там, где без комментариев читающим код непонятно, что он делает и как.
2) Код тем лучше, чем меньше требуется написать комментариев к нему, чтобы было понятно.

Всё.

О чём спор - непонятно.
 

craz

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

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

FRIE

Новичок
я чаще всего ставлю комментарии там где много всяких вложенных фигурных скобок
{
{ //начало выражения x
{
}
}//конец выражения x
}
что то типа того, потому что даже при грамотном форматировании кода, там где присутствует большая вложенность, тратишь время на поиск конца выражения, в конечном итоге найдешь но потратишь время, а с комментариями сразу очевидно где начало а где конец.

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

A1x

Новичок
там где много всяких вложенных фигурных скобок хорошо бы порефакторить
 

Krishna

Продался Java
я чаще всего ставлю комментарии там где много всяких вложенных фигурных скобок
{
{ //начало выражения x
{
}
}//конец выражения x
}
что то типа того, потому что даже при грамотном форматировании кода, там где присутствует большая вложенность, тратишь время на поиск конца выражения, в конечном итоге найдешь но потратишь время, а с комментариями сразу очевидно где начало а где конец.
Пользуйся нормальной IDE, которая подсвечивает парные скобки.
 
Сверху