Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Нет, далеко не все. Например он не покажет что этот объект может быть аргументом у метода другого объекта
Потому, что это информация не об объекте.
EP>это скорее вопрос к IDE — пусть делают новые формы дополнения, а не только "через точку"
Это принципиально невозможно.
BDA>>Альтернатива — курить маны. То есть, вышел новый стандарт, новый STL, новый boost и вы должны сразу прочитать, понять и запомнить все, что написано в сопроводиловке.
EP>Читать документацию придётся в любом случае, чтобы знать контракты.
В хорошем коде контракты выражены через него же. Но даже если нет, индекс контрактов нужен как отдельный инструмент всегда.
EP>А это вообще ортогонально. Декомпозицию на контейнеры и алгоритмы можно делать и в что называется в "true OO style". То есть смотришь ты "с высоты птичьего полета" на класс UTF-8 строки, и видишь что она реализует IBidirectionalSequence, далее смотришь на алгоритмы которые принимают IBidirectionalSequence — и находишь там to_lower, split или что там нужно.
Когда вы покажете, что в IDE можно сделать интеллисенс, не основанный на инкапсуляции, я соглашусь. Но выше я утверждаю, что это невозможно. Однако бремя доказательства обратного я возлагаю на вас — ведь это вы написали «пусть делают новые формы дополнения», вам и показывать, КАК ИМЕННО.
EP>Или ты против такой декомпозиции вообще? Тогда например для каждой строки (и контейнера в общем) придётся придётся реализовывать каждый алгоритм — M контейнеров * N алгоритмов
Зачем? Если алгоритму не важен тип контейнера, он может быть реализован в классе АбстрактныйКонтейнер, а затем переопределен в более специфическом классе. Никакого комбинаторного взрыва.
BDA>>Как раз вынесение алгоритмов за пределы классов принципиально и не дает воспользоваться этим преимуществом ООП. Процедурщина и хендловщина в полный рост.
EP>Ты так говоришь как будто "true OOP" это всегда хорошо, а "процедурщина" плохо.
С меня будет достаточно, если вы подтвердите, что стандартная библиотека C++ — не true OOP. Хорошо это или плохо, мы поговорим в другой раз.