Имена переменных неупорядоченных элементов набора без подразумеваемой структуры - PullRequest
0 голосов
/ 22 февраля 2010

Этот вопрос будет задан в определенной форме, но он относится к более общему вопросу, как назвать неупорядоченные элементы набора без какой-либо структуры.

В терминах теории графов связный неориентированный граф будет содержать вершины, соединенные ребрами.

При создании класса ребер с двумя переменными-членами, которые являются вершинами, представляющими две вершины, которые соединяет ребро, возникла трудность при описании двух переменных, которые не включали некоторую форму подразумеваемой структуры.

Рассмотрим class Edge{ Vertex v1; Vertex v2; } или же class Edge{ Vertex left; Vertex right; } или же class Edge{ Vertex a; Vertex b; }

{v1, v2} подразумевает порядок и больший возможный размер, чем два, хотя ребро имеет только два конца.

{a, b} похож на {v1, v2}, подставляя только разные символы.

{влево, вправо} или {вверх, вниз} подразумевают направление, которое может быть нелогичным, если нет необходимости в какой-либо пространственной привязке к графу, поскольку необработанные графы являются чистыми абстракциями.

{начало, конец} будет работать для ориентированного графа, но кажется произвольным в неориентированном графе.

Самое близкое, что я могу рассмотреть, это: class Edge{ Vertex oneEnd; Vertex otherEnd; } но это чувствует себя грязным.

Какое имя соответствует хорошей практике для таких переменных, не подразумевая какой-либо формы, порядка или структуры?

1 Ответ

1 голос
/ 22 февраля 2010

Я бы пошел с Edge { Vertex v1; Vertex v2; }. Я не думаю, что пользователь вашего кода будет интерпретировать числовые суффиксы как порядок, а просто как дифференциаторы. Что если ваш неупорядоченный набор содержит 10 или 100 элементов, как, например, в случае структуры многоугольника? Я уверен, что наиболее интуитивное решение будет использовать числовые индексы / суффиксы при именовании элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...