#0
by Mnemonic1C
Ваши правила, взятые с собственного опыта по стилю программирования, я не имею в виду отступы и коментарии, а скорее логику. Например: В теле функции ПриОткрытии не должны обновлятся реквизиты соотв. справочника, документа и т.д. Хочется услышать секреты мастеров:)
#7
by Stepa86
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете." (С) Стив Макконнелл
#9
by Волшебник
Отлично сказано. Не следует усложнять программу или применять хитрые трюки программирования для обеспечения чуть большей скорости. Развитие техники идет столь быстрыми темпами, что основной показатель -- это понятность программы, ее пригодность к сопровождению и надежность. Программа понятна -- это значит, что другой программист той же квалификации сможет легко разобраться в том, как работает эта программа.
#10
by Amianna
+1, иногда так напишут, что уходит дофига времени чтобы все раскопать по куче объектов, все цепочку размотать и понять, чтобы вписать 1 строку в нужное место.
#11
by Волшебник
+ Мерой сложности объекта является количество интеллектуальных усилий, необходимых для понимания этого объекта. Ясно, что для каждого человека эта величина разная. Что сложно для одного человека, может быть просто для другого. Сложность системы зависит от количества и качества связей между ее компонентами и самих компонент. Чтобы уменьшить сложность объекта, вводятся уровни абстракции, иерархическая структура или модульность. В последнем случае проблема (программа) разбивается на части (модули) до тех пор, пока их не удастся решить (запрограммировать).
#13
by Ненавижу 1С
Попытка - Исключение - КонецПопытки должна применяться только там, где от системы ничего не зависит, например при работе с внешними ресурсами
#14
by Amianna
Для того кто писал и помнит где что, оно понятно, нормально. Это доводится до абсурда иногда, процедура, с вызовом другой процедуры и больше ничего и т.д. до вложенности штук 10.
#16
by DailyLookingOnSunset
Похоже, да. И в самую последнюю процедуру приезжает куча параметров и начинается оно... Переставил одну строку кода вниз на 4 позиции - исправил ошибку.
#19
by los_hooliganos
Стараюсь писать все в одной процедуре (например Сформировать), чтобы код не расползался.
#23
by AeDen
Что значит, "не расползался"? Зависит от назначения. Иногда смысла нет бить на процедуры, т.к. все логические блоки лежат в циклах и в логических скобках типа "Если". И структура должна быть линейной, т.е. каждый блок будет вызываться один раз:) Не факт.
#27
by also
В таком случае я обычно текст запроса в отдельную фун-ию..С результатами запроса работаю отдельно
#37
by Mnemonic1C
Ну запросы это вообще отдельная история, кстати как Вы считаете, насколько хорош встроеный механизм запросов 1С, не лучше ли сразу учить прямые и не мучатся
#40
by los_hooliganos
ну если хочешь мучаться от того "мля ну и почему этого нет в 8ке???" учи прямые))
#43
by AeDen
А чем отличается хороший стиль программирования для v8 от хорошего стиля программирования для 7.7? И от хорошего стиля программирования вообще?
#45
by КапЛей
Мы (финики) такую ерунду и в мыслях представить не можем себе! Нас четко учил майор Синайский и подполковник Дивин: Если нельзя посчитать на счетах, то автоматизировать НЕЛЬЗЯ!!!
#48
by Irbis
Посчитать можно и на счетах, но уж больно подробно разложили сделку на составляющие, плюс в расчетные и фактические показатели.
#57
by IKSparrow
Гхм... Я всегда старался следовать завету Кнута - не зазорно использовать все конструкции и инструменты языка. Ну и разумеется, листинг должен быть чётким, понятным. Без информационной избыточности.
#59
by IKSparrow
И ещё, у меня отпечаток накладывает долгое знакомство с С/С++ - множество мелких функций, которые вызываются блоками в определённых местах.
#60
by Voffka
Вывод: в 1С написано все так, как нельзя - куча ошибок, код на 1024 "скатертях", опечаток/ошибок до жути... и т.д.
#62
by xReason
Есть очень просто правило Код не должен дублироваться. Ну и не про 1С Если есть сущность - выделяй ее в класс.
#65
by Immortal
код может и должен дублироваться хотя бы для повышения параллельности работы. т.е. если в 2 малозависимых частях приложения используется один и тот же код - то лучше , если он будет в 2-ух частях.
#66
by H A D G E H O G s
Только мне одному показалось, что автор пытается показаться "своим" парнем - первогодком, перед которым "деды" с гордостью начнут бросать "понты"?
#69
by xReason
Считаешь, что старик Фаулер не прав? дублирование должно быть минимальным, а лучше вообще без него
#70
by Злобный Фей
Отсутствие дублирования кода это как нормализация БД. Вроде как хорошо, но не всегда
#71
by xReason
есть правило, у которого всегда есть исключения. Здесь речь именно про "Хороший стиль программирования" Поэтому я и пишу, что хорошим стилем является исключение дублирования
#74
by xReason
надо понимать, что под дублированием понимается логической блок, а не 2 строчки похожие на самих себя
#84
by Иду
Тема перетертая мого раз, но люди, которые умнее меня во много раз, пришли к выводу, что хороший стиль программирования = это когда программа (код) работает шустро, без глюков и сбоев и долго и люди пользуются. Вне всяких зависимостей от "красивости" кода. Ибо не всем дано написать ТО, что и с сотней "повторов", а "пашет" десятилетиями. Не все одинаково талантливы, увы.
Тэги: Работа
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Можно ли из одной формы (общей)
- Как вернуть ошибочно пробитый чек в УТ ?
- Планы обмена : Как проверить, зарегены ли изменения для конкретного объекта ?
- Сильная разница в скорости запуска 1С 7.7 на разных компах
- v8.2 Обновление конфигурации УПП 24.2 на 25.2
- OpenOffice + вставка картинки во Writer
- Отслеживание ошибок регламентных заданий
- ОбновитьОтображениеДанных
- Преобразовать строку к типу дата
- Правила написания наименования контрагента
- Как удалить именованную область в табличном документе?
- Эмулятор сканера штрих-кода в 1с 8
- Бух. бюдж. Нумерация платежных поручений
- Обработка внешнего события для Сканера Штрих-кодов
- Как выбрать один штрихкод из нескольких?
- Отваливается сканер cipher lab 1266
- Запрос. Наличие сотрудника на каждый день в подразделении.
- На чем устроить корпоративную файлопомойку.
- v8: Как из XML файла загрузить данные в табличное поле?
- УТ 10.3 Как выставляют документы от подразделений с разным КПП.