GyverLibs/GyverPortal

Переименование

Closed this issue · 4 comments

Предложения по названиям.
add -> page
Builder.THEME -> Builder.useTheme
BUILD_BEGIN -> START_BUILD
BUILD_END -> FINISH_BUILD

Получится код по типу:

void page1() {
  String code;
  START_BUILD(code);
  page.useTheme(GP_LIGHT);
  
  page.FORM_BEGIN("/login");
  page.TEXT("txt", "Login", "");
  page.BREAK();
  page.SUBMIT("Submit");
  page.FORM_END();

  page.FORM_BEGIN("/exit");
  page.SUBMIT("Exit");
  page.FORM_END();

  FINISH_BUILD();
}

Вместо AJAX_UPDATE можно использовать термин "реактивности", так как функционал довольно схожий.
Аналогично с list.

page.reactive("label1,label2,label3");

FORM_SUBMIT -> ACTION_BUTTON. Да, более длинное, но полностью отражает содержимое (кнопка с действием: отправкой доп. формы)

AJAX_PLOT... -> DYN_PLOT... (dynamic plot...). Если брать аудиторию, то некоторые могу не разбираться с термином AJAX, проще сказать что график динамический.

Также для более читаемого кода можно переименовать
portal.form -> portal.isSubmited
portal.click -> portal.isClicked
portal.attachForm -> portal.onSubmit
portal.attachClick -> portal.onClick
portal.update -> portal.isDataUpdate
portal.attachUpdate -> portal.onDataUpdate

Думаю будет проще понять код

portal.tick();
if (portal.isClicked()) {
  if (portal.isClicked("mybutton")) Serial.println("Click!");
}

void myClick(GyverPortal* p) {
    if (p -> isClicked("mybutton")) Serial.println("Click!");
}

void setup() {
    portal.onClick(myClick);
}

Ещё можно переименовать AJAX_CLICK в handleClick.

То есть всё, что является элементом на странице, назвать капсом.
Всё остальное (то есть скрипты, темы) в стиле CamelCase.

Примечание: это моё личное мнение, возможно тебе что-то понравится из предложенного. :)

Возможно так будет более правильно, но я называл всё с расчетом на краткость и удобство в записи. Да и запомнить проще

Соглашусь с автором тикета.
У ESP нет проблем с памятью, и краткость отходит на второй план, а вот читабельность кода в разы повышается. Как по мне, я не понял вообще с первого раза что такое add это глагол, это не название объекта над которым происходит какие-либо действия, с заменой на -> page читабельность кода была бы лучше. Создание страниц можно переписать через builder тогда BUILD_BEGIN и BUILD_END можно в билдере спрятать.

У ESP нет проблем с памятью

Имена классов и функций вроде как не хранятся в бинарнике..

можно в билдере спрятать.

Это сломает возможность создавать кастомные страницы

это не название объекта

Именно, я вообще хочу в namespace его спрятать, объекта там и не нужно! Читается как добавить кнопку, добавить надпись, коротко и понятно. А "страница кнопка" будет ни туда ни сюда. По моему мнению

Переименовал в GP