Страницы: 1 2 След.
RSS
О правилах написания кода., системы отступов и т.п.
 
Сообщения перенесены из другой темы, поэтому заглавное сообщение ушло вниз (ранг по времени создания)
Во оно:
Neufazendnik
Здравствуйте! Предлагаю здесь делиться своими наработками в вопросах оформления кода.

Пример процедуры в приложении
============================================================­=======================

Следующее сообщение vikttur.
------------------------------------------------------------
Десяток лет работать с глюками - не много ли? :)
Структура, о которой писали выше. Если код структурирован, доработки вызывают минимум переделок.
Гончаренко как-то писал: процедура должна умещаться в видимый экран. Можно соглашаться, можно не принимать. Но если макрос прорисовки более 1000 строк и объявляются более 100 переменных и констант... При том, что переменные не имеют "собственного лица" (aa125, aa119...)... Для постороннего - черт ногу сломит. Да и разработчику нежелательно покидать код более, чем на месяц-два :)
Что-то можно вынести в отдельные Sub, другое - в функции. Оставлять такое на "а, потом допилю"... Сам иногда таким страдаю, потом расплачиваюсь временем на переписывание.
Очень важная "мелочь" - отступы, читаемость кода. У Вас строка завершения процедуры смещена вправо от строки начала - запутывает. Операторы не отделены отступами.
Код не понравился.

Попытка создания полноценной базы данных в Excel. Многие скажут - да на кой..., если есть мощные "базовые" программы? А мне сама идея и некоторые инструменты понравились.  В Excel Doom написали, видео показывают, картины рисуют. Главное - интерес. Есть задача, которая захватила, есть желание воплотить в жизнь. А если созданное еще и помогает в жизни или работе, так это вообще хорошо.
 
Цитата
vikttur написал:
объявляются более 100 переменных и констант... При том, что переменные не имеют "собственного лица" (aa125, aa119...)... Для постороннего - черт ногу сломит. Да и разработчику нежелательно покидать код более, чем на месяц-два
вот где можно не переживать по поводу, как защитить свой продукт, на случай увольнения или копирования, не нужна и обфускация  (может для этого и была разработана такая концепция?) Шучу, но для некоторых это серьезная проблема (немного с иронией), недавно здесь, на форуме, были такие темы.
А по продукту - посмотрел видео, написано много, есть интересные решения, автору респект. Но есть что дорабатывать, как и писал выше за 10 лет должна быть отлажена архитектура, продумано, как должен добавляется новый функционал, возможно что-то оптимизировать. Очень много кода и много обработок ошибок. Сам стараюсь применять как можно меньше On error resume next, сохранность данных приоритетнее.
Продукт работоспособен только в комплекте с издателем :)
Изменено: bedvit - 23.06.2018 17:00:39
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
vikttur написал:
Очень важная "мелочь" - отступы. У Вас строка завершения процедуры смещена вправо от строки начала - запутывает.
Запутывает, потому что действительно присутствует некоторая несуразность с отступами, вызванная тем, что году эдак в 2006м, когда процедура родилась, писалась она в редакторе с настройкой табулятора на 4 знака. За 12 лет процедура дописывалась и усложнялась раз 100 без преувеличений с разных компьютеров. Со временем для себя я уже ввел стандарт на настройку табулятора на 2 отступа. Но это появилось уже после. Часть кода Логпрог остается на старой системе табуляции. Ну нет у меня времени заниматься этой хренью и двигать пробелы среди тысячи строк, чтобы снова красиво было.
для Вас наверняка еще и непривычен мой стиль отступов. Это не недочет. Это выдержанный стиль.
For
 'код вложенный в блок всегда идет с одним отступом относительно шапки любого блока.
 next
Исключение
sub
end sub - на одной вертикали, потому что сгенерированы редактором автоматически. Не трогаю.
Второе исключение - блок then в конструкциях с  Else
If ... then
    'два отступа относительно if
 else' ,этот блок записывается с одним отступом от if
 end if - один отступ относительно if

почему так?
С такой схемой записи я в ней не имею никаких (отвлекающих вспомогательных технических элементов окончания блоков типа Еnd) и на линии одного табулятора только строки, показывающие самостоятельные блоки данных и их смысл. ничего лишнего и отвлекающего глаз от смысла выполняемых операций.
Отступ в каждой строке определяет уровень вложенности блока исполняемого кода в данной строке. И я пробегая по одной колонке кода вижу в ней сами операции данного уровня вложенности и ничего лишнего.
 
Я например всегда стараюсь выдерживать табуляторами иерархию исполнения операндов. Каждый табулятор - один уровень вложенности относительно ближайшего сверху кода с меньшим отступом.
Пример:
Код
  For B = C To D
    e = f
    If e > 5 Then
        g = B
      Else
      e = C
      For h = 1 To 6
        Select Case h
          Case 1
            If B > 3 Then
                j = 2
              Else
              j = 22
              End If
          Case 2
            j = 48
          Case Else
            j = 54
Exit Sub 'принудительные выходы из блоков ставлю на тот уровень, на который будет выход.
          End Select
        If B > C + 3 Then
          j = 226
      Exit For 'принудительный выход.
          End If
        Next
      End If
    Next
  End Sub
Изменено: Neufazendnik - 23.06.2018 16:10:27
 
А у меня нет привычки комментировать код вообще. Иной раз это плохо. Откроешь что-нибудь лет этак 5 назад написанное и сидишь вспоминаешь что за чем.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Я бы так написал код из сообщения №4
Скрытый текст

Переменным нужно давать какие-то определяющие имена. Счетчики - буквой.

Даже в этом фрагменте несколько явных ошибок.
- e = f (lStr = lPosition) переместить под If - исключим лишнюю перезапись e (lStr)
- Цикл For h = 1 To 6. Зачем до 6?! У Вас на тройке вылетит из процедуры.
- Входим в цикл по h. На первом шаге записываем j, на втором перезаписываем, на третьем опять перезаписываем.
- Зачем проверка  If i > lMin + 3 помещена в цикл? Почему не перед или после, i ведь не изменяется в цикле? Да и какой смысл в этой строке? Вышли из цикла по h, увеличили i на единицу, опять нырнули в цикл по h, на первом же шаге опять срабатывает выход из цикла на строке  If i > lMin + 3... И так до i = lMax. Какая-то несуразица получается.

Статья о стиле написания кода - в приложении
 
Код, который указан в #4 я бы записал так:
Скрытый текст

А что касается переменных, то тут зависит от того что пишу, но стараюсь не писать длинные, максимум буквы четыре.
Изменено: Alemox - 23.06.2018 21:14:49
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Цитата
vikttur написал:
Даже в этом фрагменте несколько явных ошибок.
Фрагмент бессмылен. Он демонстрирует отступы. Присал вообще не думая о том, что там этот код вычисляет. Показывал то, как оформляются отступы при использовании разлинчных базовых конструкций кода.
 
По переменным. Как не напиши - без комментариев в общем-то они не особо информативны в серьезной программе.
А потому смысл их писать длинными? В описании переменных всегда не скуплюсь на комментарии. Это в обязательном порядке для каждой переменной.
К именам функций тот же подход. Функции в программе называются  aa,ab... az, ba..bz..ca... zz
Все переменные внутри подпрограмм начинаются с префикса имени подпрограммы и к нему приписан порядковый номер переменной. Лаконично.
Переменные уровня модуля вводятся путем объявления по названному принципу в той подпрограмме, где она первой потребовалась. Даллее в этой же подпрограмме закомментирую это объявление, приписываю global  и переношу его в заголовок модуля.
 
Моя точка зрения: неправильный подход. Совсем неправильный. Вы придумали себе систему. Но нужно думать и о том, как в будущем программу сопровождать. И если Ваш код придется обслуживать кому-то другому - проклянет создателя последними словами :)
Если каждый будет писать по своему разумению, не придерживаясь основных правил - Вавилонская башня.
Цитата
Neufazendnik написал: По переменным. Как не напиши - без комментариев в общем-то они не особо информативны в серьезной программе.
Да ну! Посмотрите коды "зубров". Что понятнее: авс123 или lRowMax (в венгерской нотации)? Лучше написать 7-10 символов, что-то обозначающих, чем ааа255. И для серьезных программ, и для простых.
Кстати, мне специалист по Java как-то говорил, что в правильно написанном коде комментарии вообще должны отсутствовать, в коде все должно быть прозрачно. С полным отсутствием  - как-то боязно, но обилие комментариев - тоже признак плохо написанной программы.

Не хотите слушать советов - Ваше право. Во всех Ваших темах просматривается - "мы посовещались, и я решил". Так для чего тема создавалась?
Ваша программа - как хотите, так и пишите.
Цитата
bedvit написал: вот где можно не переживать по поводу, как защитить свой продукт

По коду: зачем было выкладывать бестолковый набор? Ребусы разгадывать?
 
Цитата
vikttur написал:
Что понятнее: авс123 или lRowMax (в венгерской нотации)? Лучше написать 7-10 символов, что-то обозначающих, чем ааа255. И для серьезных программ, и для простых.
Не, не соглашусь. Нет однозначности в данном вопросе. И вот почему: Когда фрагмент кода прост и в нем кроме какой-то там максимальной строки других нет, то тут все банально и красиво с  lRowMax. Но стоит опуститься до каких-то сущностей типа последняя строка в блоке там-то там-то... и последняя строка в блоке вот здесь. И еще может в блоке соседнем. Или в блоке у дедушки... как тут выясняется, что   RowMax  - абсолютно теряет информативность. А за то префикс I, которым мы пытаемся отделить скажем lRowMax от URowMax - уже ничего путного не подсказывает. Я все-таки сторонник полного описания переменных в комментарии объявления переменной.  Потому что даже десятью символами в 50% случаев не заменить полноценного описания переменных в объемном листинге. Отсюда, тому, кто будет разбираться, по любому лезть за подсказкой к переменной придется.
Переменные пронумерованы сплошной нумерацией и найти каждую переменную в блоке их объявления - вообще не вопрос.
Поэтому активно пользуюсь разделителем окна кода на две горизонтальные области.
 
А на мой взгляд, описание переменных, что, несомненно хорошо, не отменяет того, что им нужно давать вменяемые названия. Ну согласитесь: LastRow по-любому будет более информативно, нежели аа125.
Цитата
Neufazendnik написал:
А за то префикс I, которым мы пытаемся отделить скажем lRowMax от URowMax - уже ничего путного не подсказывает
А вот здесь Вы совсем "не в ту степь" )) Виктор этим префиксом показывает, что у переменной тип Long.
 
Цитата
Neufazendnik написал: префикс I, которым мы пытаемся отделить скажем lRowMax от URowMax...
Цитата
vikttur написал: lRowMax (в венгерской нотации)
Видимо, Вы стиль_VBA.docx  вскользь просмотрели (или не открывали). Там о венгерской нотации написано. Только что проверил.
 
Не знаю. При разборе кода крайне редко у меня возникают сложности с тем, что непонятен тип данных переменой и он все решает. Куда чаще - в 99% случаев возникают другоие вопросы: где инициализируется? Где модифицируется и в каком случае. Что и по каким правилам определяет, и. т.д.
Вопрос типа переменной - не частый в сравнении со множеством других вопросов по данной переменной. Его леко разрешить всего лишь выбрав в контекстном меню пункт Definition и глянуть тип в определении. Никогда не испытывал нужды засорять код не первостепенной информацией. И подозреваю, что и не буду, раз за столько лет даже намека на неудобства в этом плане не возникало у меня.
Вот например взять типичное описание переменной в моем коде:
's42 - графа типа активного контекста с Т-ссылкой на соответствующую строку S40 типа. Если в типе предусмотренно несколько ссылок на s40, _
то будет выбрана та, что в описателе реального типа следует первой за описанием графы m1503.
Ну какое разумное название ей дать, чтобы тот, кто видит это название в первый раз, мог бы что-то дельное из названия почерпнуть?
Изменено: Neufazendnik - 24.06.2018 22:43:49
 
Цитата
Юрий М написал:
Ну согласитесь: LastRow по-любому будет более информативно, нежели аа125.
А тут есть что возразить?
 
Цитата
Alemox написал:
нет привычки комментировать код вообще. Иной раз это плохо.
А иногда очень хорошо. Откраваешь  и понимаешь, что можно сделать проще, эффективнее. А вот заголовки подпрограмм и функций нормально оформленные очень помогают.
По вопросам из тем форума, личку не читаю.
 
Да,  есть. Уже возразил. Подобный стиль наименования переменных хорошь для демонстрационного кода в учебных целях. Когда берут какой-то маленький простой кусочек и показывают в нем какую-то маленькую особенность. Если же в алгоритме задействовано с десяток LastRow (а у меня практически всегда в процедурах довольно большой объем похожих сущностей переплетены во взаимодействии, то это LastRow превращается просто в бесструктурный балласт, загромождающий код. К тому же требующий еще и фантазии и потери времени на выдумывание названий. Да не дай бог забыть, что уже таким названием год назад пользовался, и не попытаться объявить его повторно... Короче, я за четкую структуру и логику. И эта структура должна быть и в именах. Словечки вместо структурированных именных переменных для меня вообще какой-то женский стиль. Нечто вроде Матиза на дороге.
Изменено: Neufazendnik - 24.06.2018 22:56:30
 
Никто не мешает дополнить LastRow неким индексом - будет хоть понятно, что разговор про последнюю строку, а не столбец.  Но Вам, конечно, аа125 понятнее ))
А вообще теме дали неправильное название. Её следовало бы назвать так: "Как я не по-феншую пишу код" ))
 
Ну, кто такой Фэн-шуй? Всего лишь местный диалект Китая? А может быть и мода...
Вообще-то тема не про мой код, а для того, чтобы люди поделились своими вариантами. Фэн-шуй и без них известен и без этой темы. А тема про те правила, которыми пользуются программисты. Думаю, что у многих программистов есть свой собственный почерк и наработки, с которыми между прочим можно было бы и Фэн-Шуя познакомить!
Изменено: Neufazendnik - 24.06.2018 23:22:19
 
Цитата
Юрий М написал:
будет хоть понятно, что разговор про последнюю строку, а не столбец.
Не знаю, что толку с понимания того, что разговор про стоку, а не столбец, если остается все равно не понятным, про какую строку?
Лично я давно понял, что мой мозг так работает, что ему абсолютно все равно, как будет называться переменная. Буквой А или словами последняя строка. Как только из описания переменной я прочел и понял, за что она отвечает, то мне по барабану, как она называется. В голове установлена связь, что переменная с таким то название отвечает конкретно за то-то и то-то. Для примера, если у меня в описании будет написано, что переменная row отвечает за столбец, а column за строку, я просто запомню, что в данной нотации перепутаны названия и дальше прекрасно без всяких проблем буду использовать эти перепутанные названия и разбирать код с ними. Лично для меня  давно есть понимание, что мозг мой не читает переменные по их названию, а запоминает, какое название и с какой сущностью связано. Где используется и что с ним происходит. При этом, еще раз, само назвыание не принципиально. Мне кажется, спор вокруг данного момента подобен тому, что мне говорят, что нет, если людей не называть по прозвищам, то это очень сложно. А я говорю, что разницы для меня нет: запомнить имя или прозвище.
Изменено: Neufazendnik - 24.06.2018 23:31:19
 
А я вообще не понимаю откуда этот стиль как называть переменные. Это что ПУЭ или ГОСТ? По мне так как нравится так и называй. Всё равно в 99% никто в твой код не полезет и не будет править. А если и полезет править, то точно не человек, который ничего не понимает. Знающий уже по структуре и по командам поймёт что происходит. А если человек ни в зуб ногой, то тут как не обзывай он всё равно не поймёт что дальше происходит. Это уж тогда проще закоментировать.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Золотые слова. Именно по данной причине думаю, что нет смысла называть переменные с расчетом на то, что кто-то потом должен будет это читать и понять по названиям переменных суть кода.
 
Цитата
Neufazendnik написал:
Вообще-то тема не про мой код
Пока разговор в основном про Ваш )
Лично я Вашу позицию понял. Дальше неинтересно.
 
Цитата
Alemox написал:
А я вообще не понимаю откуда этот стиль как называть переменные. Это что ПУЭ или ГОСТ? По мне так как нравится так и называй. Всё равно в 99% никто в твой код не полезет и не будет править
Но ведь мы сами на форум выкладываем свои коды. И смотрю иногда на перечень переменных: a, b, c, d, e, f (далее по алфавиту). Ведь коллеги читают - тратят время, чтобы вникнуть...
 
Цитата
Юрий М написал:
Ведь коллеги читают - тратят время, чтобы вникнуть...
Соглашусь. Но пока единого стандарта нет и мы всегда будем вникать. Это хорошо бы было, если все пользовались какой-то определённой структурой имён и прочее, было бы гораздо проще. Практически тоже самое, что схему читать. Но пока что если разработчики дают такую возможность придумывать свои переменные, все и будут придумывать свои и подбивать под свою определенную иерархию и логику. У нас вот на работе тоже у каждого инженера своя методика маркировки элементов схем и проводов. Сколько лет пытаются привести к одному мнению, но у каждого своя изюминка. И когда уже долго работаешь с человеком и выучишь его методы, то оказывается всё довольно просто. Тут я думаю так же. Каждый программист притирается к своей команде и потом уже друг у дружки что-то заимствуют и получается нечто среднее, которое устраивает их команду. Но приди в другое место, скажут, что они ничего не понимают и начнут тебя переучивать делать по их законам и правилам.  :)  
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Цитата
vikttur написал:
Кстати, мне специалист по Java как-то говорил, что в правильно написанном коде комментарии вообще должны отсутствовать, в коде все должно быть прозрачно. С полным отсутствием  - как-то боязно, но обилие комментариев - тоже признак плохо написанной программы.
Тут многое ещё зависит от языка. Стилистические решения, которые хороши в контексте Java, необязательно окажутся удачными для JavaScript (чего стоит постоянный холивар по поводу ";"), и уж тем более VBA.
Но самодокументируемость кода, чтобы необходимость в комментариях была минимальной, - это всегда хорошо.

Цитата
Alemox написал:
А я вообще не понимаю откуда этот стиль как называть переменные. Это что ПУЭ или ГОСТ? По мне так как нравится так и называй.
Если работаешь в команде или в большой компании, то подобная позиция неприемлема. Есть масса более или менее официальных стандартов документирования кода (из официальных, например, есть международный стандарт ISO-11179, и там про имена переменных тоже есть, кстати, из неофициальных упомянутая венгерская нотация), соблюдения которых от Вас потребуют.
Если сам себе хозяин, то, конечно, можешь воротить, что хочешь в своём коде, хотя лично мне нравится тезис: "Код пишется для читателя". Если об этом помнить, то большая часть вопросов по стилю решается сама собой.
 
Цитата
Alemox написал:
пока единого стандарта нет и мы всегда будем вникать
ну он как бы есть, несмотря на полный его игнор. Витя упоминал о венгерском соглашении. есть и негласные правила хорошего тона при написании кодов.
Я могу сказать лишь одно - каждый пишет так, как понятно ему. Если хочется задавать переменные по своим правилам - дело личное. Но непонятна цель создания данной темы, если сам автор просто пытается в ней доказать остальным, что его система оформления кодов правильная и другие его не волнуют. Вот честно, не понимаю реально зачем такую тему было создавать с таким настроем. Если варианты иного оформления кода не интересны, нафига создавать тему с просьбой ими поделиться? :) Убедиться, что остальные системы отстой? :)))

Кратко опишу, какие свои понятия(писаные и неписаные, признанные и не очень):
-переменной желательно задавать прфикс, означающий тип данных, который в ней хранится. Это избавит от постоянного перескока в декларации по Definition и выяснения что я там для неё написал. И это не прихоть, это опытом уже доказано.
-константы принято писать заглавными буквами. Это сразу дает понять, что это именно константа со своим постоянным значением. Я чуть расширил для себя это соглашение и для констант уровня модуля, проекта и процедуры у меня своя системы задания заглавных букв. В самих же константах часто применяю идентификаторы, которые дают понять к каких листам/данным/модулям константа имеет отношение.
-более менее осмысленное название для переменных, которые в принципе используются вне циклов и не один раз в коде. Например, если у нас идет цикл For Each и цель переменной цикла умирает вместе с окончанием цикла - то здесь можно обойтись заранее придуманными для себя односложными переменными:
Код
dim lmax as long
For each x in MyArr
     if x > lmax then
         lmax = x
     end if
next
А вот lmax вполне осознанная переменная, которая может далее использоваться не один раз в коде. Она лишь получает значение максимального значения в цикле. Возможно даже не только в этом.
Если в один цикл вложены еще циклы - здесь я лично действую по ситуации. Если внутри идут конструкции с перекрестным использованием переменных всех циклов, то я даю имена так, чтобы сразу было ясно к какому именно циклу относится переменная. Простой пример(очень простой для раскрытия сути) - перебор строк и столбцов в массиве:
Код
For lr = 1 to ubound(aTbl,1)'цикл по строкам
    For lc = 1 to ubound(aTbl,2)'цикл по столбцам
        vVal = aTbl(lr,lc) 'получаем значение
    Next
Next
-имена процедур и функций тоже должны иметь внятные названия, по которым будет сразу понятно что делает функция/процедура и какие значения может возвращать. Так же при написании функций с параметрами желательно переносить объявление параметров на строки так, чтобы все параметры были видны на экране без прокруток. Это избавить от лишних телодвижений, если придется разбирать функцию. И вот как раз для функций может быть весьма желательным описание в заголовке того, как она работает(общий смысл и зачем тот или иной параметр). Если забросить проект месяца на три - это поможет не сильно долго вспоминать что и для чего.
Понятно, что помимо этого есть и отступы кодов, есть разделение на модули по функционалу или применению и т.п.

Повторюсь: это мои основные принципы. И я пишу коды в основном исходя из них(если только это не код-пример на скорую руку).
Но мое мнение повторю: код в первую очередь должен быть понятен его автору. Правда, если разработка ведется по договору и тем более в команде - то соблюдать общие соглашения именований и структурирования/оформления кода все же придется, я думаю. В случае с командой это могут быть не общепринятые понятия, а какие-то внутрикомандные, но они должны быть. Иначе все начнут путаться в кодах друг-друга. И тут вот как раз тот случай, когда венгерское соглашение в плюсе - если до этого все работали по ним, то отладить совместную работу будет куда проще.
Вот как-то так.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий Щербаков написал:
Если варианты иного оформления кода не интересны, нафига создавать тему с просьбой ими поделиться?
1. Не интересны кому?
2. А что,  если кто-то в теме что-то написал, то именно это должно стать интересным автору темы?
3. Почему не допустить, что в теме можно писать просто свои варианты, без додумывания и муссирования темы про то, нравятся ли они ее автору?
В теме разные мнения. Кто-то согласен с одними, кто-то с другими. Какие проблемы в неприятии каких-либо вариантов кем-то из высказавшихся? У каждого свой взгляд и свои аргументы. Пусть в теме будут разные подходы и их обоснования. Разве тема от этого проигрывает или становится не актуальной? Прочитав каждый выбирает то, что ему понравилось.
Изменено: Neufazendnik - 25.06.2018 18:13:51
 
Хорошо что тема в курилке.
Про именование переменных мне очень все напоминает правила наименовпния обьектов в сети и AD. Сколько людей, столько и мнений. Все суффиксы, префиксы, индексы используются но абы как. Осознание систематизации приходит только на больших обьемах и вот тут каждый во что гаразд. Конечно выше указанное мнение о длинне процедуры на один экран нынче спорно. И экраны стали больше, да и на двух работают многие , а тут и в портрет экран перевернуть можно, но то что код не должен быть бесконечно длинным - это правильно. И уж конечно без трюков. Как то довелось vbs править. Тамдопустимо подпрограмму и функцию в любом месте начать, типа сделал вызов, и сразу можно код подпрограммы писать, а после енд продолжить основной код. Так пока разобрался иного лестных слов сказал. Потом плюнул и все переписал с нуля.
По вопросам из тем форума, личку не читаю.
 
Цитата
Neufazendnik написал:
Не интересны кому?
Если автор Вы - то по всей видимости Вам. Например, эти утверждения ниже наталкивают на мысли, что Вы уже полностью определили для себя систему оформления и ведения кодов. А все остальные воспринимаете как оппозицию, противопоставляя своим. И пытаетесь доказать, что Ваши - лучше:
Цитата
Neufazendnik написал:
Подобный стиль наименования переменных хорошь для демонстрационного кода в учебных целях. Когда берут какой-то маленький простой кусочек и показывают в нем какую-то маленькую особенность. Если же в алгоритме задействовано с десяток LastRow (а у меня практически всегда в процедурах довольно большой объем похожих сущностей переплетены во взаимодействии, то это LastRow превращается просто в бесструктурный балласт, загромождающий код
Цитата
Neufazendnik написал:
А за то префикс I, которым мы пытаемся отделить скажем lRowMax от URowMax - уже ничего путного не подсказывает
Если верить Вам - почти все мои программы это "бесструктурный балласт, загромождающий код" и создан в "учебных целях" :) Печально, заказчики не в курсе и с удовольствием пользуются :D А я поддерживаю все свои проекты без особого напряга, мне все понятно в любой день - хоть через месяц, хоть через два года. Наверное, как и Вам в Вашей программе.
Хотя справедливости ради надо написать, что и некоторые другие участники тоже отстаивают свои принципы. Но они хотя бы пишут, что это их мнение и не хаят Ваши методы.

Цитата
Neufazendnik написал:
А что,  если кто-то в теме что-то написал, то именно это должно стать интересным автору темы?
а я где-то писал, что Вам должно быть интересно все? Хотя в принципе, как автору темы - таки-да, должно быть. Вы должны хотя бы попытаться вникнуть в то, чем делятся с Вами другие. А не искать там одни лишь минусы против Ваших устоявшихся методов. Надо попытаться поискать еще и плюсы - ведь в конце концов это Вы предложили делиться наработками по оформлению, значит в Вас интерес должен быть ко всему в первую очередь. Это мое мнение на данный счет.
Цитата
Neufazendnik написал:
Пусть в теме будут разные подходы и их обоснования
Так почему бы не придерживаться самому этой позиции? :) Зачем хаять другие методы, которые Вы к тому же не используете? Вы обоснования своих методов написали? Отлично, кому надо прочитал и принял к сведению.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1 2 След.
Наверх