Nazwa właściwości taka sama jak nazwa klasy

Nazwa właściwości taka sama jak nazwa klasy
EP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 122
0

Przypadek ściągnięty ze stackoverflowa, ale obrazujący to co chcę pokazać:

Kopiuj
public Background {
    public Color Color { get; set; }
}

Jak zapatrujecie się na kwestię nazywania właściwości/pól w taki sam sposób jak nazwy klas? Często mam tak, że ciężko wymyślić inną nazwę, która z jednej strony nie jest taka sama jak nazwa klasy, a z drugiej dalej jest czytelna i będę mógł ją bez problemu zinterpretować za miesiąc.

grzesiek51114
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2442
2

Nie mam z tym problemów, tak samo jak .NET. Stosuję takie nazewnictwo i nawet nie zwracam uwagi na to, że nazwa "obiektu" jest taka sama jak nazwa klasy. Ot i przykład z życia: encja z nHibernate:

Kopiuj
    public class Mount
    {
        public virtual int Id { get; protected set; }
        public virtual decimal MeasureCount { get; set; }
        public virtual decimal ItemCount { get; set; }
        public virtual Component Component { get; set; }
        public virtual Measure Measure { get; set; }
        public virtual Product Product { get; set; }
    }

Trzy komponenty nazwane tak samo jak ich klasy. Zero problemów, a przynajmniej nie ma jakiejś magii w stylu np. notacji węgierskiej.
Jest to praktyka powszechna. Popatrz na przykład z dokumentacji tego ORM: https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started#entities

Kopiuj
public class Employee
{
  public virtual int Id { get; protected set; }
  public virtual string FirstName { get; set; }
  public virtual string LastName { get; set; }
  public virtual Store Store { get; set; }
}

NH to raczej profesjonalne narzędzie więc wiesz... Nie ma co się przejmować.

E9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 395
1

Moim zdaniem jeśli klasa mówi bardzo dobrze czym jest i co robi to nie ma sensu wymyślać innej nazwy. Bo po co?

mar-ek1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 526
2

Taka możliwość w .NET była chyba właśnie od początku z tego powodu dodana żeby nie trzeba było kombinować z dziwnymi nazwami tylko dlatego, że ktoś dobrze i jednoznacznie nazwał klasę, której używasz.
Dla mnie jest to dobry feature i pozwala się skupić na wykonaniu zadania, a nie na szukaniu synonimów dla nazwy pola.

N0
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 767
1

Nie widze problemu aby tak nazywac wlasciwosci.

EP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 122
0

Dzięki, w takim razie mogę bez obaw to stosować :P

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.