Обсуждение:Collections

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск

Комментарии

Мне кажется, много очевидных комментариев, например

{Конструктор}
constructor Stack<DataType>.Create;
  if IsEmpty then
  begin
    head := new SingleNode<DataType>(x, nil);
    tail := head;
  end
  else  // if not IsEmpty

Да, пожалуй. Еще не нравится

//============================================INTERFACE========================================

Я бы вообще убрал

Admin 22:14, 17 апреля 2009 (MSD)


Да, пожалуй.

Сейчас конструкторов несколько, есть смысл их именовать, только надо подумать, как лучше.— Juliet 22:52, 17 апреля 2009 (MSD)


Еще не нравится
//============================================INTERFACE========================================
Я бы вообще убрал

А IMPLEMENTATION?— Juliet 22:52, 17 апреля 2009 (MSD)

Сколько модулей?

Нельзя ли разбить модуль на модули STACK, QUEUE, ... и просто их подключать в модуле Collections.
Преимущества:

  1. Читаемость и удобство редактирования.
  2. Пространство имён и IntelliSense.

Saatchi 18:36, 16 апреля 2009 (MSD)

Комментарии мне не жалко, можно убрать. Хотя особого вреда не вижу.
Модули.. не знаю. Назначение ж у Collections, если я правильно поняла, вполне определенное, чтоб открывать, читать, и , видимо, сравнивать, а по куче модулей лазить не очень удобно.— Juliet 18:58, 16 апреля 2009 (MSD)


Да, но по огромному модулю лазить тоже не удобно, взять к примеру PABCSystem.

Saatchi 21:35, 17 апреля 2009 (MSD)

Ну настолько огромным он не будет. 5-6 классов в принципе. Если бы было что-то вроде заголовочного файла, чтобы интерфейс всех в одном месте, а реализация по разным...— Juliet 21:47, 17 апреля 2009 (MSD)

Есть резон и в нескольких модулях. И в одном. Пока не знаю.

По идее, в Collections можно только и писать что

type Stack<T> = StackUnit.Stack<T>;

Но переходить к определению стека придется дважды - вначале в Collections, потом - в Stack, что не есть хорошо


А мне кажется, с заголовочным файлом будет здорово.

Saatchi 11:34, 18 апреля 2009 (MSD)


Ну да разберемся, пока выделила несколько модулей для удобства чтения плюс к полному.— Juliet 12:22, 19 апреля 2009 (MSD)

DynArray

Что делать с Add, Insert, Delete? На лекции они были написаны для одного элемента, сейчас — в варианте с params. Можно так оставить, или для params надо отдельные методы?
Только если делать отдельные, то имхо, тело лучше оставить таким же, а не вызывать в них n раз соответствующие методы для одного элемента.— Juliet 12:30, 19 апреля 2009 (MSD)

Еще такой вопрос: для массива делать сортировку?— Juliet 12:32, 19 апреля 2009 (MSD)