Рекомендации для разработки гибкого, надёжного и поддерживаемого кода в miniPoster
Код — это всего лишь инструмент. Как и с любым другим инструментом, важная часть процесса освоения заключается в понимании, когда его следует использовать, а когда — нет. Если вы решите использовать другие правила — сделайте это.
Главное правило, которым необходимо руководствоваться:
Читабельность и единообразие
1. Синтаксис и форматирование
Скрытый текст
Для отступов используются одинаковые символы (пробелы или табуляцию). В miniPoster есть специальная кнопка для этого «Выровнять код».
Для дополнительной информации используйте 80-символьную ширину строк.
{{ плохо | код тяжело читаем }}
[IF][$bool]
[DISPLAY][Success]
[ELSE]
[DISPLAY][Repeat]
[REPEAT_TASK]
[ENDIF]
{{ ------------------------------- 80 символов ------------------------------ }}
{{ хорошо }}
[IF][$bool]
[DISPLAY][Success]
[ELSE]
[DISPLAY][Repeat]
[REPEAT_TASK]
[ENDIF]
2. Общие принципы выбора имён переменных
Скрытый текст
Важен единый стиль. Если вы выбрали английский, то используйте его во всём шаблоне. Это относится и к транслитерации.
Называть переменные именами, не несущими смысловой нагрузки, например a, e, p, mg – можно только в том случае, если они используются в небольшом фрагменте кода и их применение очевидно.
Имя переменной должно максимально чётко описывать сущность, хранимых в ней данных.
Список констант (постоянных значений) идёт перед основным кодом. Один эффективный способ выбора хорошего имени предполагает формулирование сути переменной в словах.
Оптимальная длина имени переменной до 20 символов.
Символ подчёркивания служит разделителем только в именах, полностью состоящих из заглавных букв.
Имя переменной начинается с $ или другого символа.
Идентифицируйте именованные константы заглавными (ПРОПИСНЫМИ) буквами без разделения слов или с разделением слов символами подчёркивания: CONSTNAME или
CONST_NAME.
В именах переменных с заглавной буквы начинаются все слова («верблюжья нотация» или «CamelCase»), кроме первого: имяПеременой.
3. Комментарии
Скрытый текст
Комментарии передают контекст и цель кода.
Комментарии сохраняются в шаблоне.
{{ плохо | при заполнении данных удаляется комментарий }}
[VAR][$password][{{ Пароль }}]
{{ хорошо }}
[VAR][$password][…] {{ Пароль }}
{{ Пароль }}
[VAR][$password][…]
cookieString = document.cookie;
let cookies = cookieString.split(';');
document.write();
for (let i in cookies) {
let nameVal = cookies[i].split('=');
let name = nameVal[0].trim();
let value = nameVal[1].trim();
document.write("[SET_COOKIE]["+document.domain+"]["+name+"="+value+"]<br>");
}
Если вы нашли опечатку, ошибку или у вас есть дополнения, пожалуйста, напишите об этом. Буду рад вашим советам и замечаниям. Давайте писать шаблоны профессионально.
Пожалуйста, перед тем, как опубликовать шаблон, воспользуйтесь специальной формой («Код»).
Рекомендации для разработки гибкого, надёжного и поддерживаемого кода
В начале шаблона обязательно должна быть указана версия шаблона
для этого есть
[VERSION][1][VPATH]
Наименование
Никакого транслита. Только английский.
Называть переменные именами, не несущими смысловой нагрузки, например a, e, p, mg – можно только в том случае, если они используются в небольшом фрагменте кода и их применение очевидно.
Имя переменной должно максимально чётко соответствовать хранимым в ней данным
переменныеИзНесколькихСловПишутсяВместеВотТак («верблюжьей нотацией» или, по-английски, «camelCase»)
Имя переменной начинается с символа $
и тут можно поспорить по всем пунктам, у каждого программиста свой стиль, переменная может начинаться с любого символа TIME @TIME _TIME $TIME
Рекомендации для разработки гибкого, надёжного и поддерживаемого кода
Скрытый текст
В начале шаблона обязательно должна быть указана версия шаблона
{{ 6.5.9.1.5 }}
Комментарии
Комментарии передают контекст и цель кода, а не просто повторяют название класса или компонента.
Комментарии должны сохраняться в шаблоне.
{{ плохо }}
[VAR][$password][{{ Пароль }}]
{{ хорошо }}
[VAR][$password][…] {{ Пароль }}
или
{{ Пароль }}
[VAR][$password][…]
Для отступов у вложенных элементов используются два пробела
{{ плохо }}
[IF][$bool]
[DISPLAY][Success]
[ELSE]
[DISPLAY][Repeat]
[REPEAT_TASK]
[ENDIF]
{{ хорошо }}
[IF][$bool]
[DISPLAY][Success]
[ELSE]
[DISPLAY][Repeat]
[REPEAT_TASK]
[ENDIF]
Наименование
Никакого транслита. Только английский.
Называть переменные именами, не несущими смысловой нагрузки, например a, e, p, mg – можно только в том случае, если они используются в небольшом фрагменте кода и их применение очевидно.
Имя переменной должно максимально чётко соответствовать хранимым в ней данным
переменныеИзНесколькихСловПишутсяВместеВотТак («верблюжьей нотацией» или, по-английски, «camelCase»)
Имя переменной начинается с символа $
{{ Логин }}
[VAR][$login][…]
{{ Пароль }}
[VAR][$password][…]
{{ IP и порт для CapMonster }}
[VAR][$capMonsterIp][…]
{{ Ключ для CapMonster }}
[VAR][$capMonsterKey][…]
{{ Модуль для CapMonster }}
[VAR][$capMonsterModule][…]
{{ Ключ от Google Recaptcha }}
[VAR][$googleRecaptchaKey][…]
Если вы нашли опечатку, ошибку или у вас есть что дополнить, пожалуйста, напишите об этом. Буду рад вашим советам и замечаниям. Давайте писать шаблоны профессионально.
Никакого транслита. Только английский.
нет-нет и еще раз нет
если
я вместо $MyTime
пропишу Moe_Vremia
я что, по-вашему, перестану понимать смысл вложенной сути в переменную?
или
переменная Moe_Vremiaвам перестанет быть понятна;?
итак, спорить можно по всем пунктам
ясен красен что нужна стандартизация
НО
шаблон первую очередь пишется для себя
2
просто все приведенное вами выше касается тех случаев когда разработкой шаблона занимается более 1 человека
там да это просто необходимость
3
большинству тех кто берет шаблоны с форума глубоко по барабану как красиво написан шаблон
ибо не все даже могут его скопировать и вставить нормально
а вы говорите о правильности написания
2
образование позволяет зарабатывать на хлеб, самообразование на масло, сыр и даже икру
Рекомендации для разработки гибкого, надёжного и поддерживаемого кода
Скрытый текст
В начале шаблона обязательно должна быть указана версия шаблона
{{ 6.5.9.1.5 }}
Комментарии
Комментарии передают контекст и цель кода, а не просто повторяют название класса или компонента.
Комментарии должны сохраняться в шаблоне.
{{ плохо }}
[VAR][$password][{{ Пароль }}]
{{ хорошо }}
[VAR][$password][…] {{ Пароль }}
или
{{ Пароль }}
[VAR][$password][…]
Для отступов у вложенных элементов используются два пробела
{{ плохо }}
[IF][$bool]
[DISPLAY][Success]
[ELSE]
[DISPLAY][Repeat]
[REPEAT_TASK]
[ENDIF]
{{ хорошо }}
[IF][$bool]
[DISPLAY][Success]
[ELSE]
[DISPLAY][Repeat]
[REPEAT_TASK]
[ENDIF]
Наименование
Никакого транслита. Только английский.
Называть переменные именами, не несущими смысловой нагрузки, например a, e, p, mg – можно только в том случае, если они используются в небольшом фрагменте кода и их применение очевидно.
Имя переменной должно максимально чётко соответствовать хранимым в ней данным
переменныеИзНесколькихСловПишутсяВместеВотТак («верблюжьей нотацией» или, по-английски, «camelCase»)
Имя переменной начинается с символа $
{{ Логин }}
[VAR][$login][…]
{{ Пароль }}
[VAR][$password][…]
{{ IP и порт для CapMonster }}
[VAR][$capMonsterIp][…]
{{ Ключ для CapMonster }}
[VAR][$capMonsterKey][…]
{{ Модуль для CapMonster }}
[VAR][$capMonsterModule][…]
{{ Ключ от Google Recaptcha }}
[VAR][$googleRecaptchaKey][…]
Если вы нашли опечатку, ошибку или у вас есть что дополнить, пожалуйста, напишите об этом. Буду рад вашим советам и замечаниям. Давайте писать шаблоны профессионально.
Никакого транслита. Только английский.
нет-нет и еще раз нет
если
я вместо $MyTime
пропишу Moe_Vremia
я что, по-вашему, перестану понимать смысл вложенной сути в переменную?
или
переменная Moe_Vremia вам перестанет быть понятна;?
итак, спорить можно по всем пунктам
ясен красен что нужна стандартизация
НО
шаблон первую очередь пишется для себя
2
просто все приведенное вами выше касается тех случаев когда разработкой шаблона занимается более 1 человека
там да это просто необходимость
3
большинству тех кто берет шаблоны с форума глубоко по барабану как красиво написан шаблон
ибо не все даже могут его скопировать и вставить нормально
а вы говорите о правильности написания
Если большинству ближе транслит, то какой именно использовать?
Здесь гораздо больше выбора, чем в обычном английском. Не усложняем ли мы стандартизацию?
Часто бывает, что сломалась авторизация. Если всё сделано по стандарту и модульности элементов, то заменить устаревший участок кода будет гораздо быстрее.
Пожалуйста, внесите свой вклад сейчас, чтобы в будущем вы смогли использовать гораздо меньше времени и сил на шаблоны.
Что можно добавить в общие правила для написания шаблонов?
Рекомендации для разработки гибкого, надёжного и поддерживаемого кода
Скрытый текст
В начале шаблона обязательно должна быть указана версия шаблона
{{ 6.5.9.1.5 }}
Комментарии
Комментарии передают контекст и цель кода, а не просто повторяют название класса или компонента.
Комментарии должны сохраняться в шаблоне.
{{ плохо }}
[VAR][$password][{{ Пароль }}]
{{ хорошо }}
[VAR][$password][…] {{ Пароль }}
или
{{ Пароль }}
[VAR][$password][…]
Для отступов у вложенных элементов используются два пробела
{{ плохо }}
[IF][$bool]
[DISPLAY][Success]
[ELSE]
[DISPLAY][Repeat]
[REPEAT_TASK]
[ENDIF]
{{ хорошо }}
[IF][$bool]
[DISPLAY][Success]
[ELSE]
[DISPLAY][Repeat]
[REPEAT_TASK]
[ENDIF]
Наименование
Никакого транслита. Только английский.
Называть переменные именами, не несущими смысловой нагрузки, например a, e, p, mg – можно только в том случае, если они используются в небольшом фрагменте кода и их применение очевидно.
Имя переменной должно максимально чётко соответствовать хранимым в ней данным
переменныеИзНесколькихСловПишутсяВместеВотТак («верблюжьей нотацией» или, по-английски, «camelCase»)
Имя переменной начинается с символа $
{{ Логин }}
[VAR][$login][…]
{{ Пароль }}
[VAR][$password][…]
{{ IP и порт для CapMonster }}
[VAR][$capMonsterIp][…]
{{ Ключ для CapMonster }}
[VAR][$capMonsterKey][…]
{{ Модуль для CapMonster }}
[VAR][$capMonsterModule][…]
{{ Ключ от Google Recaptcha }}
[VAR][$googleRecaptchaKey][…]
Если вы нашли опечатку, ошибку или у вас есть что дополнить, пожалуйста, напишите об этом. Буду рад вашим советам и замечаниям. Давайте писать шаблоны профессионально.
Никакого транслита. Только английский.
нет-нет и еще раз нет
если
я вместо $MyTime
пропишу Moe_Vremia
я что, по-вашему, перестану понимать смысл вложенной сути в переменную?
или
переменная Moe_Vremia вам перестанет быть понятна;?
итак, спорить можно по всем пунктам
ясен красен что нужна стандартизация
НО
шаблон первую очередь пишется для себя
2
просто все приведенное вами выше касается тех случаев когда разработкой шаблона занимается более 1 человека
там да это просто необходимость
3
большинству тех кто берет шаблоны с форума глубоко по барабану как красиво написан шаблон
ибо не все даже могут его скопировать и вставить нормально
а вы говорите о правильности написания
Если большинству ближе транслит, то какой именно использовать?
Здесь гораздо больше выбора, чем в обычном английском. Не усложняем ли мы стандартизацию?
Часто бывает, что сломалась авторизация. Если всё сделано по стандарту и модульности элементов, то заменить устаревший участок кода будет гораздо быстрее.
Пожалуйста, внесите свой вклад сейчас, чтобы в будущем вы смогли использовать гораздо меньше времени и сил на шаблоны.
Что можно добавить в общие правила для написания шаблонов?
Я, так понял моя мысль не дошла до тебя
1 все будут ложить на эти правила
2. Шаблоны пишут разные люди и с разным уровнем подготовки
3. большинству тех кто использовать будет шаблон глубоко НАС РАТЬ каким языком написан шаблон,хоть на клингонском
4.Перед тем как что-то вводить необходимо что б была примерная одинаковая база в подготовке разработчиков шабов
5 ты готов взяться за обучение программистов*? дабы их всех привести к примерно одинаковым знаниям
6 Предложенная тобой стандартизация возможна только на какой-то базе (*багаже знаний ) а багаж знаний на форуме тут у всех разный
2
образование позволяет зарабатывать на хлеб, самообразование на масло, сыр и даже икру
Рекомендации для разработки гибкого, надёжного и поддерживаемого кода
В начале шаблона обязательно должна быть указана версия шаблона
для этого есть
[VERSION][1][VPATH]
Наименование
Никакого транслита. Только английский.
Называть переменные именами, не несущими смысловой нагрузки, например a, e, p, mg – можно только в том случае, если они используются в небольшом фрагменте кода и их применение очевидно.
Имя переменной должно максимально чётко соответствовать хранимым в ней данным
переменныеИзНесколькихСловПишутсяВместеВотТак («верблюжьей нотацией» или, по-английски, «camelCase»)
Имя переменной начинается с символа $
и тут можно поспорить по всем пунктам, у каждого программиста свой стиль, переменная может начинаться с любого символа TIME @TIME _TIME $TIME
Объясните, пожалуйста, как понять в какой версии сделан шаблон?
[VERSION][1][VPATH]
Здесь ведь необходимо залить его на сайт или нет? Так ли это гибко для использования?
Рекомендации для разработки гибкого, надёжного и поддерживаемого кода
В начале шаблона обязательно должна быть указана версия шаблона
для этого есть
[VERSION][1][VPATH]
Наименование
Никакого транслита. Только английский.
Называть переменные именами, не несущими смысловой нагрузки, например a, e, p, mg – можно только в том случае, если они используются в небольшом фрагменте кода и их применение очевидно.
Имя переменной должно максимально чётко соответствовать хранимым в ней данным
переменныеИзНесколькихСловПишутсяВместеВотТак («верблюжьей нотацией» или, по-английски, «camelCase»)
Имя переменной начинается с символа $
и тут можно поспорить по всем пунктам, у каждого программиста свой стиль, переменная может начинаться с любого символа TIME @TIME _TIME $TIME
Объясните, пожалуйста, как понять в какой версии сделан шаблон?
[VERSION][1][VPATH]
Здесь ведь необходимо залить его на сайт или нет? Так ли это гибко для использования?