Многие начинающие программисты не
придерживаются вообще никакому стилю
программирования, и очень зря, в данной статье
я попробую объяснить, почему все-таки
необходимо выбрать правильный, хороший,
общепризнанный стиль программирования и
какие плюсы Вы от этого получите.
Стиль программирования – это набор правил и
принципов написания кода для удобного чтения
и восприятия кода программы.
Стиль программирования – Залог успеха
программиста, почему? спросите вы, ответ
очень прост, потому что Вам будет намного
легче разрабатывать или дорабатывать какой-
нибудь крупный проект, или возвращаться к
доработке даже самых простых проектов. Так
как читать и разбираться в коде тоже нужно
уметь, например Вы пришли в организацию
работать программистам, вести какую-нибудь
программу, а весь код не понятно, как и кем
написан, и чтобы в нем хоть как-то
разобраться, понадобиться очень много
времени, если вообще можно в нем разобраться.
Или Вы сами написали некую программу и
забыли про нее, а через полгода она Вам
понадобилась, но с новыми функциями, и Вы
смотрите на свой собственный код и не
понимаете что там и как. Поэтому общий стиль
программирования сводиться к удобному
восприятию кода программы, т.е. читабельности
кода. Например, увидев код, вы сможете сразу
сказать - «ага здесь такая-то переменная и она
мне нужно для этого, а вот здесь вызов
функции и она прописана вот тут».
Вообще существует много правил, которые
можно отнести к общепризнанному стилю
программирования, независимо от самого языка
программирования, и некоторые из них я сегодня
затрону.
Но если говорить по-простому то стиль Вы сами
для себя должны определить, за исключением
того случая когда, например, в организации, в
которую вы устроились программистом, уже
существует свой стандартизированный стиль
программирования и Вам просто придется ему
придерживаться. Это, кстати, очень хорошо, что
внутри организации придерживаются
определенным правилам написания кода, так
как любой сотрудник, например, перевелся в
другой отдел и ведет другую программу, ему не
составить труда разобраться в чужом коде. Из
всего выше сказанного Вы, наверное, поняли,
почему необходимо придерживаться к
определенному стилю программирования или
создать свой стиль, если вам будет так
удобней, но помните что ваш код, может быть,
будут читать и другие программисты и чтобы
они про вас ничего плохого не говорили лучше
придерживаться общим правилам написания
кода.
Теперь перейдем непосредственно к самим
правилам.
Комментирование. Из названия этого правила
сразу понятно, что свой код нужно
комментировать. Но, сразу скажу Вам,
запомните следующее:
слишком много комментариев это – плохо;
непонятные комментарии это – плохо;
не объясняющие суть кода комментарии – это
плохо.
Код необходимо комментировать там, где у
программиста, читающего код, могут возникнуть
вопросы, что для чего нужно и почему именно
так. Другими словами, например программист,
читающий код говорит «а почему здесь именно
так написано, вот так намного будет лучше» и
вдруг видит комментарий, что это сделано
именно так потому что…. И, конечно же, сразу
понимает. В разных языках программирования
разный синтаксис, который обозначает
комментарии, но он достаточно прост везде,
например:
В Visual Basic:
Private Sub Command1_Click()
'Объявление переменных
Dim msg As String
MsgBox "Комментарии" 'вывод сообщения
End Sub
Комментарии обозначаются апострофом, после
которого и будет идти сам текст комментария.
В PHP:
<?php
//проверка получения данных
if (isset($_POST["name"])) {
echo 'Всем привет';
}
?>
В php комментарии уже обозначаются двумя
слешами (//), это если вы хотите
закомментировать одну строку, а если вы
хотите закомментировать целый кусок кода, то
можно использовать /* в начале кода который
вы хотите закомментировать и */ в конце.
Отступы и пробелы. Это означает, что для
удобного и понятного чтения многие
конструкции в языках программирования
принято выделять с помощью, например
табуляции или пробела. Например, в
конструкциях if then else.
В Visual Basic:
Private Sub Command1_Click()
If Text1.Text = "5" Then
MsgBox "Равно 5"
Else:
MsgBox "Не равно 5"
End If
End Sub
Здесь по блокам видно, что и где, просто это
пример маленький, а если у вас, например 1000
строк кода и все в столбик написано, я думаю,
вы не сразу поймете, где что. Поэтому
следуйте, этому правилу и у вас сразу будет
более читабельный код.
Перенос кода на новую строку. Продолжая тему
читабельности кода, перейдем к переносам.
Если у вас строка кода не умещается на экране
монитора, то обязательно переносите код на
новую строку. Например, в том же самом Visual
Basic это делается с помощью нижнего
подчеркивания:
Private Sub Command1_Click()
If Text1.Text = "5" Then _
MsgBox "Равно 5"
End Sub
Названия переменных. В некоторых
организациях принято каким-то специальным
образом называть переменные с помощью
префиксов и так далее, чтобы было понятно,
что это за переменная. Вы в свою очередь
можете придумать для себя свои префиксы или
просто называть переменные, которые несут в
себе смысловую нагрузку, не просто называть
«aaa», «bbb», «ccc» или вообще просто одной
буквой. По названию переменной должно быть
понятно для чего она нужна, например, если в
переменной будет храниться имя пользователя,
ее можно назвать name и сразу все понятно.
Также многие программисты используют разный
регистр в название переменных, для наглядного
выделения их, например UserName, но
запомните, что регистр нужно учитывать, когда
эти переменные вы будите использовать.
Написание функций. Этот принцип
программирования используют практически все
хорошие программисты, т.е. правило гласит
«если один и тот же участок кода используется
в программе более одного раза, то для него
необходимо писать функцию, и потом просто
вызывать эту функцию». Это не просто
упрощает написание программы, но и уменьшает
сам код! Тем самым также повышается
читабельность кода, например, вы в начале
своего кода написали функцию, конечно же,
добавили комментарий к ней, и человек который
будет читать код, сразу увидит комментарий, и
будет знать для чего эта функция. А потом
когда будет встречать в коде вызов этой
функции, он уже будет знать, для чего она
нужна.
Теперь давайте посмотрим, как выглядит кусок
кода без использования общего стиля
программирования и тот же самый код, но уже с
использованием всех правил и принципов.
Примеры ниже написаны на языке PHP .
Плохой стиль программирования:
<?php
if(isset($_POST['n1']) && is_numeric($_POST['n1']) &&
isset($_POST['n2']) && is_numeric($_POST['n2']) &&
isset($_POST['op']) && !empty($_POST['op'])){
$n1 = $_POST['n1'] * 1;
$n2 = $_POST['n2'] * 1;
$op = $_POST['op'];
$ou = "$n1 $op $n2 = ";
switch ($op){case '+': $ou .= $n1 + $n2; break;
case '-':
$ou .= $n1 - $n2; break;
case '*':
$ou .= $n1 * $n2; break;
case '/':
if($n2 == 0){$ou = 'Деление на ноль невозможно!';}else{
$ou .= $n1 / $n2;}break;
default:
$ou = "Неизвестный оператор '$op'";
}}?>
Хороший стиль программирования:
<?php
// Проверяем, была ли отправлена форма
if(
isset($_POST['number1']) && is_numeric($_POST['number1']) &&
isset($_POST['number2']) && is_numeric($_POST['number2']) &&
isset($_POST['operator']) && !empty($_POST['operator'])
){
// фильтруем полученные значения
$number1 = $_POST['number1'] * 1;
$number2 = $_POST['number2'] * 1;
$operator = $_POST['operator'];
//переменная для хранения результата
$output = "$number1 $operator $number2 = ";
// Выбор математического действия
switch ($operator){
case '+':
$output .= $number1 + $number2; break;
case '-':
$output .= $number1 - $number2; break;
case '*':
$output .= $number1 * $number2; break;
case '/':
// Деление на ноль нельзя использовать
if($number2 == 0){
$output = 'Деление на ноль невозможно!';
}else{
$output .= $number1 / $number2;
}
break;
default:
$output = "Неизвестный оператор '$operator'";
}
}
?>
Ну и где более понятно написан код? Я думаю,
вы уже поняли, что стиль программирования –
это залог успеха! Придерживайтесь всем этим
правилам и принципам и вы будите относиться к
числу программистов, которые имеют хороший
стиль программирования.
уже много статей написано на эту тему. копипаст не приветствуется?
Добавлено 28.06.14 в 16:24:28:
а нифига не копипаст. в гугле не нашёл точно похожего автору плюс
Можно вопрос?
можно,а почему бы и нет
ХУЛИГАНКА, у разнобразности стилей кодов тоже есть свои плюсы. Не думаю, что единый стиль многим понравится, не считая копименов. Да и основа идеи немного выходит за рамки темы.
и в этом тоже верно