Выбор имени функции
Имя функции следует тем же правилам, что и имя переменной. Основное отличие – оно должно быть глаголом, т.к. функция – это действие. Как правило, используются глагольные префиксы, обозначающие общий характер действия, после которых следует уточнение.
Функции, которые начинаются с"show"
– что-то показывают:
showMessage(..) // префикс show, "показать" сообщение
getAge(..) // get, "получает" возраст
calcD(..) // calc, "вычисляет" дискриминант
createForm(..) // create, "создает" форму
checkPermission(..) // check, "проверяет" разрешение, возвращает true/false
Это очень удобно, поскольку взглянув на функцию – мы уже примерно представляем, что она делает, даже если функцию написал совсем другой человек, а в отдельных случаях – и какого вида значение она возвращает.
Одна функция – одно действие
Функция должна делать только то, что явно подразумевается её названием. И это должно быть одно действие. Если оно сложное и подразумевает поддействия – может быть имеет смысл выделить их в отдельные функции? Зачастую это имеет смысл, чтобы лучше структурировать код.
Но самое главное – в функции не должно быть ничего, кроме самого действия и поддействий, неразрывно связанных с ним.
Например, функция проверки данных (скажем,"validate"
) не должна показывать сообщение об ошибке. Её действие – проверить.
Префикс handle - когда функция - обработчик, то есть если метод является обработчиком события или запроса (в общем, если метод обрабатывает событие, то есть получает его на вход, лучше ставить префикс handle)