У меня был разговор с моим преподавателем сегодня о расположении структуры данных Chunklist, что мы продолжали работать. В основном это - гибрид заказанного кругового связанного списка с каждым узлом, содержащим arraylist.
Так как это - заказанный список, добавление (), метод является довольно сложным, таким образом, я записал вложенный класс для содержания вспомогательных методов, такой, как разделено, блок в два меньших даже разделяет на блоки, найдите точку вставки, создайте новый узел среди других. Эти вспомогательные методы сохраняют размер метода к под 30 строками, но если бы все было включено, то один метод был бы хорошо более чем 150 строками.
Править: мысль проясненного преподавателя
Его положение состояло в том, чтобы обойтись без класса помощника и иметь, это только возвращает узел и индекс в нем, который используется итератором, и имейте все остальное видимое для точки удобочитаемости. Я создал класс помощника как ListLoc<E> ll= new ListLoc();
, и доступ к методам как ll.insertItem(item)
был, от его точки, трудной на удобочитаемости и процессе выполнения программы. Его слова "Я обращаюсь к ll как к объекту для чего-то, не просто методам экземпляра". Мое положение было то, почему имеют эти методы видимый, когда они являются неотъемлемой частью и операции структуры и не должны быть получены доступ непосредственно.
Так, при построении пользовательской структуры данных вспомогательные методы должны быть видимы конечному пользователю, даже когда они не должны использоваться?