Pregunta "Lista de elementos" o "lista de elementos"


El inglés no es mi lengua materna y no puedo entender cómo escribir las muestras especificadas a la derecha. Cuando dices algo que agrega un objeto plural como "colección de sellos" puedes decir alternativamente: "colección de sellos", ¿estoy en lo cierto? Si dices "colección de sellos", significará una "colección" que es un "sello" único.

Pero a menudo veo clases con nombres como "Lista de elementos", ¿no significa que dicha clase es una lista que es un elemento de otra cosa? Tal muestra es más ardiente:

class ItemList: List<Item>

¿No tiene que ser así?

class ItemsList: List<Item>

¿Por qué rara vez se escribe así? ¿O es una convención de nomenclatura de los lenguajes de programación? ¿O solo oraciones inglesas adecuadas? :)


32
2018-03-20 10:08


origen


Respuestas:


En inglés, una "colección de sellos" es una "colección de sellos". (En el mejor de los casos, se entenderá "colección de sellos").

En la programación, No estoy del todo seguro por qué, pero nosotros1  hacer a veces usa el formulario "StampsCollection".

Puede ser porque tratamos de usar una jerga más precisa y lógica de lo que ofrece el inglés tradicional; comenzamos con el nombre "Artículo", lo pluralizamos a "Artículos", entonces sea ​​preciso al afirmar que nuestra colección de "Elementos" es una "Lista" en lugar de una "Matriz" o alguna otra implementación.

Sin embargo, es probable que veas ambas variantes y realmente no importa.

Ciertamente, ni en inglés ni en programación ItemsList implica una lista de colecciones de Items, al menos no para la mayoría de las personas.


1 ... por algún valor de "nosotros". Las opciones de nombramiento son, por supuesto, de preferencia personal. Sin embargo, personalmente he visto esto como una tendencia.


17
2018-03-20 10:30



Encuentro ItemList mucho más descriptivo. Es un list de objetos de tipo Item.

Por otro lado, si tuviera una colección de Item objetos, podrías llamarlo Itemsy ItemsList designaría un list de colecciones.


3
2018-03-20 10:31



class Items: List<Item>

Y más legible, en general hago un typedef

typedef List<Item> Items;

con una clase más especializada que oculta la lista

class Encapsulation
{
    Items m_items;
}

"Prefiere la composición por agregación sobre la herencia" es idioma común en OOP (citando a Sutter / Alexandrescu)

La encapsulación de una colección es, en la mayoría de los casos, una buena práctica que reduce la complejidad del código de llamada.


-1
2018-03-20 10:32