Это, возможно, более косметическая проблема, но я нахожу это очень раздражающим, поскольку я всегда получаю некоторый уродливый код. И читаемость всегда важна, верно?Избегайте проверки низа при доступе к подэлементу
Я хочу проверить, существует ли значение в хэше в хеше. Так что я делаю это.
already_exists_data[:data][:user_id]
Но что может заставить меня исключение NullPointer если: данные ноль и проверка: данные могут дать мне NullPointer если already_exists_data равна нулю. Так что я в конечном итоге с этим:
if already_exists_data && already_exists_data[:data] && already_exists_data[:data][:user_id]
# Do stuff
end
Теперь это какой-то неприятный код. Возможно, мне нужно изменить хэш как объект. Но иногда я иногда сталкиваюсь с этой проблемой и задаюсь вопросом, как вы, ребята, сталкиваетесь с этим.
Я в настоящее время кодирую в Ruby, но у меня была эта проблема с несколькими другими языками.