Re[8]: Почему программисты прошлого были умнее
От: vdimas Россия  
Дата: 13.01.26 02:18
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Пришлось бы для каких-то случаев реализовывать паттерн null objeсt


На практике этот паттерн хорошо работает лишь в случае отсутствия полей у объекта, т.е. когда есть только виртуальные ф-ии и им можно приписать некое "нулевое" поведение либо выбрасывание исключений (одно время широко использовали этот паттерн в реальных разработках, потом отказались).

Потому что на практике в программе, допустим, будет связанный список объектов некоего типа, и если использовать как конец списка ссылку на "нулевой" объект, то при непроверке на null (в чём суть ошибки, которую пытаемся лечить) будет обращение к полям этого null-объекта с чтением фигни, т.е. ошибка маскируется и себя никак не проявляет. Или проявляет себя намного позже, вдали от места и времени возникновения — это самый неприятный случай.

В общем, такие костыли обычно ведут к еще худшим ошибкам, т.е. требующим гораздо больше усилий на обнаружение самого факта ошибки и затем на её локализацию.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.