Показать сообщение отдельно
  #9 (permalink)  
Старый 22.08.2014, 11:40
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Phil Karlton: «There are only two hard things in Computer Science: cache invalidation and naming things.»
(В программировании две беды: инвалидация кеша и именование переменных)

поговорим про вторую беду:

onXClick: function(e) {
        //..
    },
    onRemoveClick: function() {
        //..
    }


плохие имена для методов. в имени сущности (любой) должно быть показано, для чего она.

не глядя в код, сможешь рассказать, что внутри этих методов и зачем они? а для этих?
function SmileList () { }
SmileList.prototype = {
    // да, в классе 2 метода.
    // и если что-то сломается, то
    // для поиска бага в коде придется читать содержимое этих методов. 
    // и ЭТО НЕ ВЕСЕЛО, когда кода очень много.
    // и писал его не ты, а кто-то другой.
    click: function(e) {
        //..
    },
    mousedown: function() {
        //..
    }
};


для сравнения, это имя - получше, но тоже не то.
addTask: function(name) {
        //...
    },


ещё пример:

Task.prototype = {
    constructor: Task,
    renderTask: function() {
       /// ....
    },
    edit: function(newName) {
        //....
    },
    onCheckChange: function() {
        //...
    }

};


Task.renderTask - зачем постфикс (красный)?
Task.edit - неплохо

поподробнее про TaskList.addTask :

TaskList.addTask

какие сущности могут быть внутри TaskList ? ничего, кроме TASK. постфикс "Task" для addTask не нужен.

и, судя по названию класса, это упорядоченный список (List).

операция ДОБАВИТЬ (add) больше подходит для списков, где порядок не важен

пример такого списка - список классов HTML
var li = $('<li/>').*!*addClass*/!*('todo-task animated flash');


а там, где порядок важен, обычно именуют так:
this.list.*!*append*/!*(li);
this.tasks.*!*push*/!*(task)


append, push - отлично.


т.е. метод переименован из TaskList.addTask в TaskList.append.

вообще, имена для переменных - вопрос вкуса, конечно, но лучше именовать их так, чтобы было понятно о методе\переменной без залезания вовнутрь неё

Последний раз редактировалось melky, 22.08.2014 в 11:55.
Ответить с цитированием