Одесса: 2°С (вода 8°С)
Киев: 0°С
Львов: -2°С

Тема: Стиль программирования - что это?

Ответить в теме
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 20 из 33
  1. Вверх #1

    По умолчанию Стиль программирования - что это?

    Что является хорошим стилем?
    Что является дурным тоном?
    Какие критерии оценки?


  2. Вверх #2
    Цитата Сообщение от Podvoz Посмотреть сообщение
    Что является хорошим стилем?
    Что является дурным тоном?
    Какие критерии оценки?
    Дурной тон писать всё в одну строку без переносов, отступов и пробелов, это даже называется быдло-код.

  3. Вверх #3
    Частый гость Аватар для Makmakkerti
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    34
    Сообщений
    527
    Репутация
    76
    В программировании не существует определенного стиля, которого следует придерживаться... Однако стили условно подразделяются на категории т.к. в разных языках программирования удобство написания кода отличается, да и человеку один стиль может нравиться больше остальных.
    Хорошим тоном считается если на протяжении всего кода выдержан один стиль (это говорит о своего рода профессионализме).

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

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

  4. Вверх #4
    Цитата Сообщение от Alyende Посмотреть сообщение
    Дурной тон писать всё в одну строку без переносов, отступов и пробелов, это даже называется быдло-код.
    По-моему, это называется 3,14-здец, а не быдло-код. Такое и представить сложно.

  5. Вверх #5
    Цитата Сообщение от Makmakkerti Посмотреть сообщение
    ... да и человеку один стиль может нравиться больше остальных.
    Хорошим тоном считается если на протяжении всего кода выдержан один стиль...
    Так что такое стиль? Подразумеваю, что это нечто большее, чем синтаксис кода. Но что именно?

  6. Вверх #6
    Цитата Сообщение от Podvoz Посмотреть сообщение
    По-моему, это называется 3,14-здец, а не быдло-код. Такое и представить сложно.
    Ну человеку не имеющему опыта программирования да, возможно трудно.
    Когда открываешь код и не можешь понять шо там такое нагорожено...
    Я шоб шото в таком говнокоде понять иногда по полчаса трачу на приведение всего в хоть чуток понятный вид...

  7. Вверх #7
    Частый гость Аватар для Makmakkerti
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    34
    Сообщений
    527
    Репутация
    76
    Хороший стиль программирования.

    Автор - Симдянов И.В.

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

    Почему же PHP так популярен и каким образом столько человек разом обучилось PHP? Дело в том, что большинство PHP-программистов не изучало язык с нуля, а изучало его либо уже зная С/С++, либо Perl. Perl является C-подобным языком программирования (как и PHP), а является предшественником PHP, можно сказать что PHP это Web-ориентированный Perl. Поскольку, PHP просто логически следует из Perl и широкое распространение получил именно из-за того, что программистам было легко переходить с Perl на PHP (ну и с С на PHP, тоже).
    Замечание

    Язык Perl появился в 1986 году по воле системного программиста Лари Уолла. Созданный первоначально как средство обработки текстовых файлов, призванное облегчить жизнь системному администратору UNIX, он превратился в настоящий язык программирования. Традиционные области, в которых Perl применяется особенно часто и успешно, — создание приложений CGI, системное администрирование UNIX, обработка текста.

    Кроме того, свой вклад вносит предметная область — программирование для сети Интернет. Для серьёзного понимания которого желательно знание очень многих вещей (HTML, SQL, UNIX, прикладных протоколов — хотя бы HTTP, стилей программирования на С, Perl, Java).
    Когда большинство PHP-программистов переходят в мир PHP с багажом другого языка программирования (их стиль уже устоялся), спрос на литературу, в которой бы обсуждались азы программирования не так велик. Новичкам бывает трудно найти информацию об организации кода. Мы надеемся, что эта статья поможет поставить свой собственный стиль, что в конечном итоге может увеличить скорость разработки на 30% и помочь при работе в команде, когда ваш код будет читаться другими программистами, а вам соответственно придётся читать чужой код.
    Расстановка фигурных скобок и отступы

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

    1) Рациональный стиль

    Это один из наиболее распространенных стилей, так как им пользовались Керниген (Kernighan) и Ричи (Ritchie), авторы языка C.

    <?php
    if($flag){
    echo "Hello world!";
    }
    ?>

    Преимущество этого подхода заключается в экономии вертикального пространства, жизненно важного при отладке большого блока кода. Оборотной стороной такого подхода является то, что может оказаться трудным найти символ {, спрятанный в конце строки. Этого стиля придерживаются и Java-программисты, как-то приписывает Sun.

    2) Стиль Алмена

    Эрик Алемен (Eric Allman) написал утилиты BSD в этом стиле, поэтому этот стиль часто называют "стиль BSD":

    <?php
    if($flag)
    {
    echo "Hello world!";
    }
    ?>

    Аргументом в поддержку такого стиля является тот факт, что область видимости блочного оператора ясна и визуально ассоциируется с управляющим оператором.

    3) Стиль Whitesmith

    Данный стиль предписывает использование следующей расстановки фигурных скобок

    <?php
    if($flag)
    {
    echo "Hello world!";
    }
    ?>

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

    4) Стиль GNU

    Программисты GNU фонда Free Software Foundation используют следующий стиль расстановки фигурных скобок

    <?php
    if($flag)
    {
    echo "Hello world!";
    }
    ?>

    Внутри любых управляющих конструкций операторы следует располагать с отступом на одинаковое число пробелов, например для операторов if-then-else код должен выглядеть следующим образом:

    <?php
    $flag = true;
    if($flag)
    {
    echo "Переменная равна true";
    exit();
    }
    else
    {
    echo "Переменная равна false";
    exit();
    }
    ?>

    Число может быть любым, обычно используют 2, 4 или 8 пробелов. Старайтесь придерживаться этого правила, некоторые программисты приходят в бешенство когда это число не кратно 2 Наиболее оптимальным является использование 2 пробелов, так как при их большем числе вложенные блоки становятся "растянутыми" и их становится сложно воспринимать.
    Пробелы вокруг символов

    Бинарные операторы следует обрамлять пробелами:

    <?php
    // Неправильно
    $a=$b+$c*$d;
    // Правильно
    $a = $b + $c * $d;
    ?>

    Символ пробела ассоциируется с новым словом, поэтому формула читается не как непонятный набор символов, а как нечто осмысленное.
    Комментарии

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

    PHP собрал в себе практически все комментарии современных языков программирования, наряду с однострочными комментариями в стиле shell-скриптов (#)

    <?php
    # Программный модуль index.php
    echo "Hello world!";
    ?>

    и С++ (//)

    <?php
    // Программный модуль index.php
    echo "Hello world!";
    ?>

    можно использовать многострочный комментарий в стиле C:

    <?php
    /* Это многострочный комментарий в стиле С
    он охватывает несколько строк – не допускается
    вложенных комментариев
    */
    echo "Hello world!";
    ?>

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

    <?php
    ////////////////////////////////////////////////////////////////////////////////////////
    // Гостевая книга
    ///////////////////////////////////////////////////////////////////////////////////////
    ?>

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

    <?php
    // Вывод текстовой строки в окно браузера
    echo "Hello world!";
    ?>

    и после точки с запятой

    <?php
    echo "Hello world!"; // Вывод текстовой строки в окно браузера
    ?>

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

    <?php
    if($tot)
    {
    while($position = next($tot))
    {
    /* Очень длинный код
    содержащий много
    вложенных блоков
    ...
    */
    if($flag)
    {
    echo "Ошибка";
    exit();
    }
    } // Конец while($position = next($tot))
    }
    ?>
    Имена переменных и функций

    Существует несколько стилей названия переменных

    $var_bell — стиль C: нижний регистр, знак подчёркивания.

    $VarBell — стиль Pascal: каждая подстрока в названии начинается с большой буквы.

    $varBell — стиль Java: первая строка начинается с маленькой буквы, все последующие с большой.

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

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

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

    Рассмотрим несколько примеров. Часто временные строки для хранения SQL называют $query (запрос) — это очень удачное название, ассоциирующееся именно с SQL-запросом. Обычно на этом всё и заканчивается. При появлении второго запроса, вторая переменная получает имя $query1 — это порочная практика. Обычно запросы в рамках одного скрипта отличаются своим действием: один SQL-запрос может выполнять обновление (UPDATE), другой выборку (SELECT), поэтому переменные лучше называть с указанием действия оператора: $query_update и $query_select, соответственно.

    Часто можно увидеть код

    <?php
    $query = "SELECT * FROM catalog";
    $query1 = mysql_query($query);
    while($result = mysql_fetch_array($query1))
    {
    /* Код обработки */
    }
    ?>

    Здесь дескриптор запроса, возвращаемый функцией mysql_query() назван $query1, это здорово запутывает как разработчика, так и читающего текст программы. Дескриптор не несёт физического смысла — это лишь ключ к результату, поэтому его лучше называть сокращённым именем таблицы

    <?php
    $query = "SELECT * FROM catalog";
    $cat = mysql_query($query);
    while($catalog = mysql_fetch_array($cat))
    {
    /* Код обработки */
    }
    ?>

  8. Вверх #8
    Постоялец форума Аватар для Аратор
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    37
    Сообщений
    2,819
    Репутация
    684
    Цитата Сообщение от Alyende Посмотреть сообщение
    Дурной тон писать всё в одну строку без переносов, отступов и пробелов, это даже называется быдло-код.
    угу,а еще коменты не добавлять)))))

    представьте прогу на 50к строк без коментов)))))

  9. Вверх #9
    Частый гость Аватар для CrazySquirrel
    Пол
    Мужской
    Возраст
    30
    Сообщений
    900
    Репутация
    95
    Если к языку есть стандарт создания кода, то вопросов быть не должно, хороший тон - соблюдение стандартов, дурной - наоборот.

    А вообще хороший стиль, это стандарты + отсутствие в логике решений через ВЦ
    Еврейский SQL сервер отвечает запросом на запрос.

  10. Вверх #10
    Посетитель
    Пол
    Мужской
    Адрес
    Люксембург, Евросоюз
    Возраст
    30
    Сообщений
    285
    Репутация
    26
    ВЕРЕВКА ДОСТАТОЧНОЙ ДЛИНЫ,
    ЧТОБЫ ВЫСТРЕЛИТЬ СЕБЕ В НОГУ


    а с форматированием кода отлично справляются специальные утилиты

  11. Вверх #11
    А ещё например в PHP желательно стараться оптимизировать всё, чтобы код хоть чток быстрее исполнялся...
    Например конструкция
    $str = "Hello, World!";
    Выполнится на 40% медленнее, чем конструкция
    $str = 'Hello, World!';
    За счёт простого использования в ней двойных кавычек, а не одинарных...

  12. Вверх #12
    Цитата Сообщение от GoldCodersMaster Посмотреть сообщение
    ой...про java console забыл....а вы уже запустили или как в стихотворении?
    не понял?

  13. Вверх #13
    Цитата Сообщение от GoldCodersMaster Посмотреть сообщение
    Выписать ордер сможешь? причина есть, покажу только в офлайне
    какой ещё ордер ты пра шо ваще

  14. Вверх #14
    Цитата Сообщение от GoldCodersMaster Посмотреть сообщение
    "закрой рот мальчик" че-то тебе говорит?

    + статистика есть.
    Ты вроде чёта курнул да?

  15. Вверх #15
    Цитата Сообщение от Makmakkerti Посмотреть сообщение
    Часто можно увидеть код

    <?php
    $query = "SELECT * FROM catalog";
    $query1 = mysql_query($query);
    while($result = mysql_fetch_array($query1))
    {
    /* Код обработки */
    }
    ?>

    Здесь дескриптор запроса, возвращаемый функцией mysql_query() назван $query1, это здорово запутывает как разработчика, так и читающего текст программы. Дескриптор не несёт физического смысла — это лишь ключ к результату, поэтому его лучше называть сокращённым именем таблицы

    <?php
    $query = "SELECT * FROM catalog";
    $cat = mysql_query($query);
    while($catalog = mysql_fetch_array($cat))
    {
    /* Код обработки */
    }
    ?>
    Логичней называть не $cat а $rs поскольку это recordset (выборка) ну или другое значение resource

  16. Вверх #16
    Цитата Сообщение от GoldCodersMaster Посмотреть сообщение
    Главный ПМ города да?

    http://forum.od.ua/showthread.php?t=255434
    Точно пыхнул...
    Охинею городишь какую-то, сам не понимая какую.
    Хорош троллить уже.

  17. Вверх #17
    Цитата Сообщение от GoldCodersMaster Посмотреть сообщение
    Я понял...троллизм кстати - метод раскрутки (буду знать)

    Стату честно показал. Объяснить?

    Остался ордер. Объяснить?
    Какой ещё ордер???
    При чём здесь мульт показов форума к одинарным кавычкам и стилю программирования????

  18. Вверх #18
    Цитата Сообщение от GoldCodersMaster Посмотреть сообщение
    донорство в программировании....донорство в клиентских сетях интернета, опа?
    Гыгы
    Мальчик тебе надо надо в наркодиспансер

  19. Вверх #19
    Цитата Сообщение от GoldCodersMaster Посмотреть сообщение
    Вот и статья о гражданском правонарушении всплыла...намек понял?
    Точно надо...
    Всё, дальше без меня...

  20. Вверх #20
    Цитата Сообщение от Alyende Посмотреть сообщение
    А ещё например в PHP желательно стараться оптимизировать всё, чтобы код хоть чток быстрее исполнялся...
    Например конструкция
    $str = "Hello, World!";
    Выполнится на 40% медленнее, чем конструкция
    $str = 'Hello, World!';
    За счёт простого использования в ней двойных кавычек, а не одинарных...
    Насчет оптимизации - согласен, но вышеуказанный пример уже несколько лет как неактуален. Возьмите проверьте, что ли..


Ответить в теме
Страница 1 из 2 1 2 ПоследняяПоследняя

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения