Сообщение Re[8]: бессмысленные интерфейсы от 21.02.2022 19:36
Изменено 21.02.2022 19:48 AlexGin
Re[8]: бессмысленные интерфейсы
Здравствуйте, B0FEE664, Вы писали:
BFE>Что такое "проблема перекрёстных ссылок"?
Вот отсюда и _проблема_перекрёстных_ссылок_
BFE>Вы это пытались компилировать? Зачем?
Вообще-то я и без копиляции увидел у тебя проблему перекрёстных ссылок.
Однако, на всякий случай, лишний раз убедился — что у тебя ошибка.
BFE>
AG>так и для тестирования основы нашего проекта.
BFE>Про связь с тестированием я не понял.
AG>>Вот насчёт тестов:
AG>>https://chromium.googlesource.com/external/github.com/google/googletest/+/refs/tags/release-1.8.0/googlemock/docs/ForDummies.md
AG>>https://chromium.googlesource.com/external/github.com/google/googletest/+/refs/tags/release-1.8.0/googlemock/docs/FrequentlyAskedQuestions.md#how-am-i-supposed-to-make-sense-of-these-horrible-template-errors
BFE>И где конкретно у них написано, что продакшен код надо замедлять, чтобы проще было писать тесты?
Кто и где предлагал замедлять продакшн код? Что есть фактор замедления?
P.S. Если ты предполагаешь, что вызов через таблицу виртуальных функций (vtable) вносит замедление,
то для аппаратуры последних 15 лет это уже не актуально.
BFE>Что такое "проблема перекрёстных ссылок"?
BFE>class Node
BFE>{
BFE>public:
BFE> Node(const std::string& sNameOfNode); // C-tor
BFE> ~Node(); // D-tor
BFE> std::string GetNameOfNode() const;
BFE> const std::vector<SubNode>& GetVectOfChilds() const;
BFE> void AddNode(SubNode p);
BFE>private:
BFE> std::vector<SubNode> m_SubNodes; // Здесь ссылаемся на объект типа SubNode
BFE>};
BFE>class SubNode // Интерфейс узла:
BFE>{
BFE>public:
BFE> std::string GetNameOfNode() const { return m_node->GetNameOfNode(); }
BFE> const std::vector<SubNode>& GetVectOfChilds() const { return m_node->GetNameOfNode(); }
BFE> void AddNode(SubNode node) { return m_node->AddNode(node); }
BFE>public:
BFE> std::shared_ptr<Node> m_node; // Здесь ссылаемся на объект типа Node
BFE>};
BFE>
Вот отсюда и _проблема_перекрёстных_ссылок_
BFE>Вы это пытались компилировать? Зачем?
Вообще-то я и без копиляции увидел у тебя проблему перекрёстных ссылок.
Однако, на всякий случай, лишний раз убедился — что у тебя ошибка.
BFE>
Скрытый текст | |
BFE>
| |
AG>так и для тестирования основы нашего проекта.
BFE>Про связь с тестированием я не понял.
AG>>Вот насчёт тестов:
AG>>https://chromium.googlesource.com/external/github.com/google/googletest/+/refs/tags/release-1.8.0/googlemock/docs/ForDummies.md
AG>>https://chromium.googlesource.com/external/github.com/google/googletest/+/refs/tags/release-1.8.0/googlemock/docs/FrequentlyAskedQuestions.md#how-am-i-supposed-to-make-sense-of-these-horrible-template-errors
BFE>И где конкретно у них написано, что продакшен код надо замедлять, чтобы проще было писать тесты?
Кто и где предлагал замедлять продакшн код? Что есть фактор замедления?
P.S. Если ты предполагаешь, что вызов через таблицу виртуальных функций (vtable) вносит замедление,
то для аппаратуры последних 15 лет это уже не актуально.
Re[8]: бессмысленные интерфейсы
Здравствуйте, B0FEE664, Вы писали:
BFE>Что такое "проблема перекрёстных ссылок"?
Вот отсюда и _проблема_перекрёстных_ссылок_
BFE>Вы это пытались компилировать? Зачем?
Вообще-то я и без копиляции увидел у тебя проблему перекрёстных ссылок.
Однако, на всякий случай, лишний раз убедился — что у тебя ошибка.
BFE>
AG>так и для тестирования основы нашего проекта.
BFE>Про связь с тестированием я не понял.
AG>Вот насчёт тестов:
AG>https://chromium.googlesource.com/external/github.com/google/googletest/+/refs/tags/release-1.8.0/googlemock/docs/ForDummies.md
AG>https://chromium.googlesource.com/external/github.com/google/googletest/+/refs/tags/release-1.8.0/googlemock/docs/FrequentlyAskedQuestions.md#how-am-i-supposed-to-make-sense-of-these-horrible-template-errors
BFE>И где конкретно у них написано, что продакшен код надо замедлять, чтобы проще было писать тесты?
Кто и где предлагал замедлять продакшн код? Что есть фактор замедления?
P.S. Если ты предполагаешь, что вызов через таблицу виртуальных функций (vtable) вносит замедление,
то для аппаратуры последних 15 лет это уже не актуально.
BFE>Что такое "проблема перекрёстных ссылок"?
BFE>class Node
BFE>{
BFE>public:
BFE> Node(const std::string& sNameOfNode); // C-tor
BFE> ~Node(); // D-tor
BFE> std::string GetNameOfNode() const;
BFE> const std::vector<SubNode>& GetVectOfChilds() const;
BFE> void AddNode(SubNode p);
BFE>private:
BFE> std::vector<SubNode> m_SubNodes; // Здесь ссылаемся на объект типа SubNode
BFE>};
BFE>class SubNode // Интерфейс узла:
BFE>{
BFE>public:
BFE> std::string GetNameOfNode() const { return m_node->GetNameOfNode(); }
BFE> const std::vector<SubNode>& GetVectOfChilds() const { return m_node->GetNameOfNode(); }
BFE> void AddNode(SubNode node) { return m_node->AddNode(node); }
BFE>public:
BFE> std::shared_ptr<Node> m_node; // Здесь ссылаемся на объект типа Node
BFE>};
BFE>
Вот отсюда и _проблема_перекрёстных_ссылок_
BFE>Вы это пытались компилировать? Зачем?
Вообще-то я и без копиляции увидел у тебя проблему перекрёстных ссылок.
Однако, на всякий случай, лишний раз убедился — что у тебя ошибка.
BFE>
BFE>#include <iostream>
BFE>#include <vector>
BFE>#include <memory>
BFE>#include <string>
BFE>class Node;
BFE>class SubNode // Интерфейс узла:
BFE>{
BFE>public:
BFE> inline std::string GetNameOfNode() const ;
BFE> inline const std::vector<SubNode>& GetVectOfChilds() const ;
BFE> inline void AddNode(SubNode node) ;
BFE>public:
BFE> std::shared_ptr<Node> m_node; // Здесь компилятор НЕ ЗНАЕТ размер объекта типа Node
// Ссылка или указатель на объект типа Node здесь прокатят, значение - НЕТ
BFE>};
BFE>class Node
BFE>{
BFE>public:
BFE> Node(const std::string& sNameOfNode); // C-tor
BFE> ~Node(); // D-tor
BFE> std::string GetNameOfNode() const;
BFE> const std::vector<SubNode>& GetVectOfChilds() const;
BFE> void AddNode(SubNode p);
BFE>private:
BFE> std::vector<SubNode> m_SubNodes;
BFE>};
BFE>AG>так и для тестирования основы нашего проекта.
BFE>Про связь с тестированием я не понял.
AG>Вот насчёт тестов:
AG>https://chromium.googlesource.com/external/github.com/google/googletest/+/refs/tags/release-1.8.0/googlemock/docs/ForDummies.md
AG>https://chromium.googlesource.com/external/github.com/google/googletest/+/refs/tags/release-1.8.0/googlemock/docs/FrequentlyAskedQuestions.md#how-am-i-supposed-to-make-sense-of-these-horrible-template-errors
BFE>И где конкретно у них написано, что продакшен код надо замедлять, чтобы проще было писать тесты?
Кто и где предлагал замедлять продакшн код? Что есть фактор замедления?
P.S. Если ты предполагаешь, что вызов через таблицу виртуальных функций (vtable) вносит замедление,
то для аппаратуры последних 15 лет это уже не актуально.