Comments 19
Коротко о прочитанном — называйте переменные/методы/классы осмысленно, но не сильно коротко и не сильно длинно. Зачем целая статья?
Я уж думал тут будет подсказка как найти синонимы для сущностей
Пожалуй, худшие имена для переменных начинаются с прописной буквы O и строчной L, так как эти символы очень похожи на 0 и 1.
Не стоит забывать, что есть хорошие шрифты, решающие эту проблему.
Про запрет на префикс m_ тоже странный совет.
void CObjectsContainer::Set( const vector<OBJECT> & objectList )
{
m_objectList = objectList;
}
Сразу ясно что происходит, что где содержится и для чего используется.
Про m_ может актуально для некоторых языков, где есть неявные this, но это практика переносится и в другие языки, где исключительно явная. И там она лишняя
— Есть языки, где подобная практика излишняя: действительно, смотрится очень куцо:
this->m_Value = Value;
— Есть языки, где отсутствие префиксов явно вредит читаемости и пониманию кода (см. пример выше).
Но автор решил, что подобное надо искоренять. Тег php стоит, конечно, но стоило бы упомянуть явно, что речь идет о практиках программирования в php.
В большинстве известніх мне языков имя переменной или другой сущности не может начинаться с цифры, так что в них точно проблема надуманная. Это даже если не вспоминать про автодополнение IDE или мощного редактора. С другой стороны, один хорошо знакомый разработчик практически никогда не пишет переменные руками, кроме первого раза — копипастит. И на его таски почти никогда не бывает багов, кроме тех, что по факту являются уточнением требований, когда у QA другое мнение, каким должно быть неописанное или недостаточно однозначно описанное в таске поведение. Очень щепетильное отношение к работе, и такой копипаст — один из аспектов общего подхода. Иногда даже раздражает, когда в паре работаем, ну вот переменная из трёх букв, которую сам только что написал, иде автодополение абсолютно точно не предлагает, но нет, "копировать-вставить"
А теперь посмотрите на функцию getOddNumbers. Увидели, что она делает то же самое, что и getList?Последнее время начал замечать что для разработки очень большого класса с множеством отдельных сущностей есть смысл писать NumbersGet, ListGet. На тот случай если у вас кроме Get есть еще толпа глаголов, особенно когда каждая сущность имеет свои уникальные глаголы. Лучше конечно разделить эти сущности. Но при первом наброске чисто визуально проще искать не getList, setList, putNum, delNum, а именно с начало найти Num, List и подом действие. Выглядит странно, но мне нравиться. :)
А если они заканчиваются на них, то это конечно Ок. )
Как придумывать содержательные имена для вашего кода