Доброго времени суток коллеги, хочу поделить с начинающими программистами небольшим жизненным опытом по культуре программировании.
Я не буду описывать в данной статье огромных регламентов по правилам написания текста программ, а хочу поделиться небольшими жизненными наблюдениями о том как программировать более грамотно, с точки зрения стороннего программиста пытающегося разобраться в листинге Вашей программы.
Старайтесь писать любые программы (именно любые, в т.ч. мелкие обработки, которые вы запустите 1 раз и удалите с жесткого диска) корректно, с точки зрения понимания. Конечно, возникает резонный вопрос: "Зачем мне тратить лишнее время на оформления, если данный код никто, и никогда не увидит", а ответ очень прост: "Что бы выработать привычку". Можно привести очень простой пример, на первых порах Вы автоматизируете небольшую фирму, проходит пол года, Ваш профессиональный уровень естественно вырастет, и Вы устраиваетесь в серьезный внедренческий центр, в котором программист обязан писать программный текст соблюдая все нормы. В ситуации когда Вы с первых дней обращаете на грамотность написания текстов, на новой работе Вы пишите свои первые строки алгоритмов, ведущий специалист при проверке видит как вы пишите и у него складывается соответствующее мнение о Вас как о специалисте. В другой ситуации, Вы просто не привыкли писать корректно и после изучения Ваших методов мнение о Вас у специалиста будет прямо противоположным. Ведь не зря говорят: "Встречают по одежке, провожают по уму", можете считать, что то как Вы пишите это "Ваша одежда", а то что именно Вы реализовали это уже вытекающее.
Теперь, я хотел бы привести некоторый листинг описывающий то как не нужно писать:
функция неоченьхорошийпример(Параметр) если Параметр = 0 Тогда возврат 0; иначеЕсли Параметр =1 тогда оргонизация = Константы.организация.получить();; скидка = организация.минимальнаяскидкадляклиента; возврат скидка; Иначеесли Параметр = 2 тогда возврат 0.5; Иначе возврат Неопределено; конецЕсли; КонецФункции
И также приведу пример аналогичной функции в более читабельном виде:
// Функция возвращает размер скидки, исходя из переданного парметра // // Параметры // Параметр - Тип: Число, длина 1 точность 0 - Параметр опредляет правило получения скидки // // Возвращаемое значение: // Число, длина 3 точность 2 - размер скидки клиента // Функция ПримерПолучше(Параметр) Если Параметр = 0 Тогда Возврат 0; ИначеЕсли Параметр =1 Тогда Организация = Константы.Организация.Получить(); Скидка = Организация.МинимальнаяСкидкаКлиента; Возврат Скидка; ИначеЕсли Параметр = 2 тогда Возврат 0.5; Иначе Возврат Неопределено; КонецЕсли; КонецФункции // ПримерПолучше()
В данном примере я конечно сильно утрирую, но на то он и пример.
Для платформы нет разницы какой вариант обрабатывать, результат работы функции будет одинаков во обоих вариантах. Но для человека, разница будет велика. Конечно же программист со временем поймет что именно подразумевал автор листинга, но пока настанет данный момент истины в адрес автора прольется немало бранных слов.
Также, считаю необходимым дать комментарии к указанным выше листингам:
Напоследок, скажу про изменение чужого программного текста (например доработка типовых конфигураций), при изменении существующего кода, не забывайте свои изменения помещать в комментарии, указывать что именно вы изменили и собственно зачем. Поверьте, в дальнейшем программисту будет проще разобраться, например при обновлении конфигурации.
Пожалуй, это все что я хочу написать для начала. Данным текстом я ни в коем случае никого не хотел обидеть, и текст носит рекомендательный характер.
Это моя первая статья на данном сайте, т.ч. если ее сочтут интересной к прочтению, в дальнейшем расскажу немного про опитимизацию алгоритмов.
Все права на данную статью принадлежат собственно мне, статья может свободно распространяться, но без корректировки текста и со ссылкой на первоисточник.