Информация об изменениях

Сообщение Re[2]: Порядок параметров в методе (и вообще про порядок чле от 18.04.2016 1:10

Изменено 18.04.2016 1:11 Shmj

Здравствуйте, #John, Вы писали:

J>1. Не изменяемые, изменяемые, опциональные.

J>2. Если параметров больше 5ти, то скорее всего метод надо разбить на несколько или поля объеденить в одну модель.
J>3. В контрукторе желательно вообще не больше 3х.

Вы не поняли. Все параметры равнозначны, вопрос лишь в порядке расположения друг относительно друга.

Давайте начнем с порядка полей, аналогичное будет и для параметров. Вот пример:

class Book
{
   public string Author {get; set;}
   public DateTime PublishDateTime  {get; set;}
   public string Name {get; set;}
   public long Id {get;set;}
   public DateTime PurchaseDateTime {get; set;}
   public int AvailableCount {get; set;}
   public string Description {get; set}
}


Не кажется ли вам, что сначала нужно расположить Id, книги, а не в середине. Потом желательно Name. А может Author? Вот как тут понять? А потом что первым AvailableCount или PublishDateTime?
Re[2]: Порядок параметров в методе (и вообще про порядок чле
Здравствуйте, #John, Вы писали:

J>1. Не изменяемые, изменяемые, опциональные.

J>2. Если параметров больше 5ти, то скорее всего метод надо разбить на несколько или поля объеденить в одну модель.
J>3. В контрукторе желательно вообще не больше 3х.

Вы не поняли. Все параметры равнозначны, вопрос лишь в порядке расположения друг относительно друга.

Давайте начнем с порядка полей, аналогичное будет и для параметров. Вот пример:

class Book
{
   public string Author {get; set;}
   public DateTime PublishDateTime  {get; set;}
   public string Name {get; set;}
   public long Id {get;set;}
   public DateTime PurchaseDateTime {get; set;}
   public int AvailableCount {get; set;}
   public string Description {get; set}
}


Не кажется ли вам, что сначала нужно расположить Id, книги, а не в середине. Потом желательно Name. А может Author? Вот как тут понять? А потом что первым AvailableCount или PublishDateTime?

Хотелось бы не думать об этом а действовать по строгому алгоритму. Ведь не всегда однозначно что должно быть первым а что вторым... Или вообще по алфавиту делать?