UNDER CONSTRUCTION
Названия идентификаторов
- Временные и перманентные идентификаторы
- В начале создания кода допускается использовать любые идентификаторы. Ведь надо как можно быстрее доставить результат
- Когда с кодом нужно работать больше 1 раза (т.е. не просто запустил и заработало, а надо развивать, поддерживать), то нужно заменять их на более осмысленные
- Ультракороткие идентификаторы
- a, b
- Применяются когда есть 2 объекта, которые одинаковы по типу и семантике
- Идеально если коммутативны
- Приемлемо если коммутативны с точностью до какого-то простого преобразования
- Например a-b == -(b-a)
- k, v только эти нуждаются в замене
- Применяются для коллекций
- idx
- i, j, k, len
- x, y, z
- list, hash
- item
- name, title, field
- a, b
- Когда можно оставлять как есть (срабатывание любого правила - значит можно оставить как есть)
- Количество переменных в методе <= 5
- Тело метода меньше 3 строк
- Список плохих идентификаторов, которые иногда нужно заменять
- k, v, key, value
- Ок. Это ключ. Ключ от чего?
- name, title
- Имя/заголовок от чего?
- data
- Кроме случая, если метод в котором оно написано точно указывает что это за данные
- ws_mesage_process : (data)->
- Кроме случая, если метод в котором оно написано точно указывает что это за данные
- list, hash
- Очень бысто непонятно что за list. Особенно если в методе больше 5 переменных
- k, v, key, value
- Идентификаторы для bool переменных
- Желательно вместо префиксов
is_иhas_использовать в конце_flag
- Желательно вместо префиксов
- Идентификаторы для массивов
- Желательно добавлять в конец
_list - Примеры
- word_list хороший идентификатор
- words плохой идентификатор т.к. плохо отличим визуально от word
- children тоже плохой идентификатор т.к. если везде будет _list, то этот будет отличаться.
- Желательно добавлять в конец
- Идентификаторы для хэшей
- Желательно добавлять в конец
_hash - Примеры
- word_hash хороший идентификатор
- words плохой идентификатор т.к. плохо отличим визуально от word и при чтении кажется что это массив
- Желательно добавлять в конец
- Примеры применения идентификаторов
- Для циклов
- for i in [0 ... 100]
- for v in list
- for v,k in list
- for v,idx in list
- for k of hash
- for k,v of hash
- for key,value of hash
- for name,value of hash
- Для сортировки
- list.sort (a,b)->a-b
- Для циклов