Читать книгу Полезные конспекты книг и авторские заметки по информационным технологиям. Без формул онлайн


Данные необязательно представляются в виде объектов.


Закон Деметры – модуль не должен знать внутреннее устройство объектов, с которыми работает.


Метод f класса С должен ограничиваться вызовом методов следующих объектов: С; объекты, созданные f; объекты, переданные f в качестве аргумента; объекты, хранящиеся в переменной экземпляра С.


Метод не должен вызывать методы объектов, возвращаемых любыми из разрешенных функций.


Не использовать цепочки вызовов (разделять).


Не используются гибриды объектов и структур данных.


Разные уровни детализации не смешиваются.


Объекты передачи данных – Data transfer object – классы с открытыми переменными без функций используются для преобразования низкоуровневых данных, получаемых из базы, в объекты кода приложения.


Bean – компоненты из приватных переменных, операции с которыми осуществляются при помощи методов чтения и записи, преимуществ не имеют.


Активные записи – active records – структуры данных с открытыми переменными, а также с навигационными методами – это структуры данных и бизнес-логику не содержат.


Обработка ошибок не заслоняет логику программы.


Ошибки обрабатываются стильно и элегантно.


Используются исключения вместо кодов ошибок.


Начинать с написания команды try-catch-finally для кода, способного вызывать исключение.


Тип исключения сужается до реально инициируемого.


Блоки try должны напоминать транзакции.


Использовать непроверямые исключения.


С исключениями передавать содержательные сообщения об ошибках.


Из сведений об исключении должно быть понятно, с какой целью выполнялась операция.


Классы исключений определены в контексте потребностей вызывающей стороны.


Инкапсулированы вызовы сторонних API.


Для обработки особых случаев использовать паттерн особый случай.


Вместо null выдается исключение или особый случай.


Для API, возвращающего null, – делать обертки.


Не возвращать null из методов.


Не передавать null при вызове методов.


Запрещать передачу null по умолчанию.


Чистый код должен быть надежным.


Вместо приведения типа контейнера лучше использовать параметризованные контейнеры.

Вход Регистрация
Войти в свой аккаунт
И получить новые возможности
Забыли пароль?