воскресенье, 31 января 2016 г.

Полезные правила

Разбирал свои записи и наткнулся на эти выписки. Уже не помню, откуда их почерпнул, но решил, что стоит их опубликовать здесь, чтобы не потерять


Как писать код и не сойти при этом с ума
1.Начинайте с небольших вещей, затем расширяйте их
2. Изменяйте что-то одно за один раз
3. Добавляйте логирование и обработку ошибок на ранних стадиях
4. Каждая новая строчка кода должна быть выполнена хотя бы один раз
5. Тестируйте по частям прежде, чем проверять весь проект на работоспособность
6. Абсолютно всё занимает больше времени, чем вы думаете
7. Сначала поймите, что делает данный код
8. Ошибки будут всегда
9. Реагируйте на отчеты об ошибках
10. Пишите код на основе интерфейса, а не реализации
11. Не документируйте плохой код - перепишите его
12. Используйте метафоры
13. Используйте эвристики
14. Бог скрывается в мелочах
15. Лучшее - враг хорошего
16. Боритесь со сложностью (Главный Технический Императив Разработки ПО)
17. Программируйте в терминах предметной области
18. Разделяйте программный код на уровни абстракции


четверг, 9 апреля 2015 г.

git - ошибочный коммит

Что делать если в пуш попали лишние изменения

Допустим, вы запушили по ошибке свои изменения в каком-то файле и теперь хотите их откатить.
Для начала надо удостовериться, что этот файл после вас никто не правил. Для этого делаем:

git log -p <file>

Будут показаны ваши последние изменения в этом файле. Если чужих изменений нет и вы последний, кто правил этот файл, то можно проделать:

git reset <commit> <file>

<commit> - предыдущая версия по отношению к той, в которую попали нежелательные изменения

После этого на диске появится измененный файл и за-stage-ный файл. Нужные нам изменения лежат в stage.
Поэтому надо сделать следующее:

git checkout -- <file>
git reset HEAD <file>

Все, теперь файл имеет состояние до того, как в него попали ошибочные данные. И его можно заново коммитить.

четверг, 29 мая 2014 г.

Роутинг в express с помощью urouter

Стандартный роутинг express мне не очень понравился, поскольку имеет ряд недостатков:
  • неудобное описание именованных роутов (в express именованные роуты описываются с помощью объектов, что лично мне показалось очень неудобным);
  • отсутствие бриджей-префиксов (чтобы не писать в начале десяти роутов /admin);
  • необходимость создавать переменные, в которые надо помещать все бриджи роутов;