Do not pass null
Не посылайте null.
Возвращать null из методов плохо, но передавать null при вызове еще хуже. По возможности избегайте передачи null в своем коде. Исключение составляют разве что методы сторонних API, при вызове которых без нее не обойтись.
В большинстве языков программирования не существует хорошего способа справиться со случайной передачей null с вызывающей стороны. А раз уж так, разумно запретить передачу null по умолчанию.
#functions #arguments
Не посылайте null.
Возвращать null из методов плохо, но передавать null при вызове еще хуже. По возможности избегайте передачи null в своем коде. Исключение составляют разве что методы сторонних API, при вызове которых без нее не обойтись.
В большинстве языков программирования не существует хорошего способа справиться со случайной передачей null с вызывающей стороны. А раз уж так, разумно запретить передачу null по умолчанию.
#functions #arguments
Flags in Arguments
Флаги в аргументах. Логические аргументы явно указывают на то, что функция выполняет более одной операции. Они сильно запутывают код. Исключите их из своих функций.
#functions #arguments
Флаги в аргументах. Логические аргументы явно указывают на то, что функция выполняет более одной операции. Они сильно запутывают код. Исключите их из своих функций.
#functions #arguments
Не используйте параметры метода в качестве рабочих переменных
Использовать передаваемые в метод параметры как рабочие переменные опасно. Создайте для этой цели локальные переменные. Так, в следующем фрагменте кода переменная inputVal некорректно служит для хранения промежуточных результатов вычислений.
Создание новой переменной workingVal поясняет роль inputVal и исключает возможность ошибочного использования inputVal в неподходящий момент. Имена inputVal и workingVal просто ужасны и служат в данном примере только для пояснения ролей переменных.
#tips #arguments
Использовать передаваемые в метод параметры как рабочие переменные опасно. Создайте для этой цели локальные переменные. Так, в следующем фрагменте кода переменная inputVal некорректно служит для хранения промежуточных результатов вычислений.
Создание новой переменной workingVal поясняет роль inputVal и исключает возможность ошибочного использования inputVal в неподходящий момент. Имена inputVal и workingVal просто ужасны и служат в данном примере только для пояснения ролей переменных.
#tips #arguments