Non sono sicuro se questo post è consentito, considerando che potrebbe essere soggettivo. Tuttavia, ho visto molti post riguardanti le convenzioni di denominazione (sui programmatori, così come su StackOverflow - dove sono un membro più attivo), quindi penso che dovrebbe essere valido. (Anche se a volte sembra che l'argomento con le convenzioni sui nomi sia rapidamente chiuso e altre volte no, quindi vedremo.)
Attualmente sto lavorando a un progetto JAVA, anche se il problema si presenterebbe praticamente in qualsiasi linguaggio funzionale. Nel mio programma, creo un mondo immaginario. Ciò significa che mi piacerebbe creare personaggi, oggetti, entità e cosa no, con molte classi che estendono l'altra. Ad esempio: entità sarebbe una super classe che sa solo se un elemento è mobile o meno, e dove si trova attualmente (cioè le sue coordinate). In un'altra classe, questo può essere raffinato per i caratteri che contengono anche un nome e un genere. Un'altra classe dovrebbe quindi distinguere come oggetti, in quanto potrebbero contenere un "tipo" (ad esempio tree
, car
e così via). Per quest'ultimo tipo, sembra sovraccarico creare Class per ogni tipo, considerando che ci sono molti tipi possibili nel mondo, con cui intendo "oggetti tipici nel mondo, non ulteriormente definiti da alcuna gerarchia".
Partendo da Entity
come classe, andrei a Character
e Object
classes. Tuttavia, mi è stato detto un paio di volte che non dovrei usare Character e Object come classi di nomi, perché sono inerenti alle raccolte di Java. La domanda che chiedo è:
- Non dovremmo farlo, perché ci confonde da programmatore o ha conseguenze programmatiche?
- È scoraggiato in tutti i linguaggi di programmazione? O ci sono lingue in cui questo non è un grosso problema?
- Il mio IDE (Eclipse) non genera errori, nemmeno un avvertimento - quindi è davvero un grosso problema?
- Esistono convenzioni per rappresentare persone o oggetti (i referenti nel mondo reale) con un nome di classe? Per la vita di me, non riesco a capire un buon sinonimo di "Oggetto". Il personaggio può essere sostituito da Person I guess, ma per Object è molto più difficile.
Non vorrei che questa domanda venisse etichettata come "non una domanda reale" o "soggettiva" a causa di quest'ultima domanda. Le mie domande principali sono 1 & 2 & 3. Una risposta su 3 è facoltativa e potrebbe anche essere pubblicata come commento. È quello a cui sono meno interessato.