Мудрые мысли восточных старцев (о программировании)
Primary tabs
- Если у тебя куча разных параметров, и ты не понимаешь, что с ними делать, засунь их все в ассоциативный массив и доставай по ключам.
- Задавай вопросы. Если некому или некогда, то обязательно запиши вопрос. Формулирование реально помогает приблизиться к результату.
- Что такое "создать форму":
- создать шаблон формы
- сделать валидацию входящих данных
- написать код, обрабатывающий входящие данные (непосредственно логика)
- проверять предварительно наличие данных в БД
- выбпрасывать Exception-ы при ошибках и обрабатывать их
- Умножение (и вообще любые операции) дробных чисел - очень скользкий процесс в программировании, т.к. нули в конце дробной части хранятся в виде байтов, а также при циклическом делении могут как-то округляться. Следовательно одно число в итоге будет !== другом. При выводе пользователю не забывай привести число в корректный вид.
- Старайся сокращать код, используя функции. Подробно, конечно, понятнее, но так пишут только семиклассники.
- Ajax и submit. Внутри ajax-а есть свой механизм submit-a. Поэтому, даже если обработка формы происходит не по нажатию кнопки, а по клику на чём-либо, в обработчике можно использовать методы типа isSubmit() и isValid(), проверяющие, отправлена ли форма пользователем.
- Location (заголовок) принимает полный абсолютный путь (типа http://site.name/path/to/page). Но хардкодить его - плохая практика, т.к. код проекта становится "непереносимым". Т.е. если захочешь перенести сайт на другой домен, код придётся править (скорее всего ты не вспомнишь, где именно). Решение: описывай и протокол, и доменное имя, и путь внутри проекта с помощью методов типа getSchema(), get...(), generateUrl() или других, подобных.
- Неплохо перед началом работы с переменной/записи переменной в БД проверять, определена ли она. В случае, если нет, обрабатываем исключение, а не получаем ошибку undefined
- Какие-то опции в редакторе кода (например, в NetBeans-е) могут не работать. Это не всегда значит, что не работает код. Это может быть связано с тем, что новые разработки кодаещё не успели реализоваться в IDE. Поэтмоу обязательно пробуй запустить код, если IDE неадекватно на него реагирует, но ошибок нет.
- Минимизируй количество запросов к БД. Например, выноси все запросы, какие возможно перед началом цикла. А в цикле уже тащи информацию из переменной. Это существенно повысит производительность приложения.
- Конвертация данных из пользователепонятного вида в оптимизированный для хранения в БД должна происходить НЕПОСРЕДСТВЕННО перед записью в БД, и соответственно - обратно - НЕПОСРЕДСТВЕННО перед выводом пользователю. Чтобы не запутаться и не забыть одно из действий
- Назначения разных типов http-запросов (грубо говоря):
- GET - запрос содержимого ресурса (передаёт путь, хочет получить то, что по этому пути лежит)
- POST - передача данных от пользователя (обычно для создания объекта в БД)
- PUT - передача данных от пользователя (обычно для редактирования объекта в БД)
- DELETE - передача данных от пользователя (обычно для удаления объекта в БД)
- Никогда не вводи вручную id при создании новой строки в sql-запросе. При этом сбивается счётчик автозаполнения id-шников, и при попытках корректного заполнения будет выведена ошибка "key already exist".
Вводи строки программыми средствами или с помощью ключ-значение (для всех столбцов кроме id)
Если строка уже создана, то следует скорректировать sequence (для PostgreSql):ALTER SEQUENCE sequence_name RESTART WITH 6;
где 6 - следующий предполагаемый id.
- melisa's blog
- Log in to post comments
- 5880 reads
Comments
vedro-compota
Wed, 12/27/2017 - 17:31
Permalink
GET - запрос содержимого
у них есть и общепринятые значения, и они появились ещё до первых "БД")
_____________
матфак вгу и остальная классика =)