1

Например, если у вас есть class Room, в котором каждый номер получает (или по крайней мере должен получить) номер другого номера, вы когда-нибудь позволяете себе, что вы называете переменные roomNumber вместо room? Поскольку вы уже знаете, что это класс Room, вы можете опустить room в roomNumber, и просто оставьте его number. Для согласованности я хочу либо включить эту информацию, уже указанную классом, либо опустить ее всегда.Если вы опускаете информацию в именах переменных, которые уже заданы свойствами этого класса?

Class Room { 

    private int roomNumber; 

    Room(int roomNumber) { 
    this.roomNumber = roomNumber; 
    } 

} 

или

Class Room { 

    private int number; 

    Room(int number) { 
    this.number = number; 
    } 

} 

Я думаю о том, как это будет выглядеть, если бы вы room.getRoomNumber() или room.getNumber(); и это будет иметь больший смысл в большинстве случаев.

+1

Возможны ли другие типы номеров? Например, количество мест? – Stewart

+0

Хорошая точка. Да, было бы разумно, если бы комната сохранила количество кроватей в них. – Joop

+1

Следует сократить такие сокращения, но ваш пример хорошо выбран: «номер комнаты» является очень известным понятием, тогда как «число» - это такое имя. Использование аббревиатуры здесь «no»/«nr» может быть больше для вкуса некоторых людей. Строка еще более понятна («Комната 013», «Комната 12А»). –

ответ

3

(Добро пожаловать в slowy философски класс программирования)

getNumber() может звучать хорошо. Но как это выглядит, когда в комнате есть еще десять атрибутов? Как он ищет кого-то другого? Что делать, если у вас будет сотрудник типа с номером employee и резервированием с номером резервирования? Как об этом говорят в бизнесе? Как можно назвать метку веб-gui для этого свойства?

Имейте в виду:

1) Большую часть времени, это лучше методы имен и переменных в некотором смысле, так что это легче понять. Если вы что-то называете, попробуйте назвать его, поэтому вам не нужно его комментировать. Если переменная длиннее вашего 24-дюймового широкоформатного экрана tft, ну, что-то ужасно нехорошо хе-хе. В вашем случае я бы прокомментировал, что getNumber() вернет номер комнаты, чтобы сделать его совершенно ясным.

2) Последовательность: если бизнес говорит о номере комнаты, назовите его номер комнаты. От переменных-членов, до методов, столбцов таблицы. Если возможно, это упростит. Это включает в себя такие методы, как «readRoomByRoomNumber() "вместо" readRoomByNumber() ".

3) Именование переменных: Также объявить« Room room = new Room() », а не« Room r = new Room() ». Итак, в конце: room.getRoomNumber "гораздо легче читать, чем" r.getNumber() ";-)

Надеюсь, что это поможет, приветствует, slowy

4

Если в комнате есть другие числовые атрибуты, то укажите имена переменных более конкретными. Если номер комнаты является единственным числовым атрибутом, я думаю, что достаточно room.getNumber().

Смежные вопросы