LINUX.ORG.RU

История изменений

Исправление Syncro, (текущая версия) :

сорян если запоздало, только дочитал все, и вроде это уже отмечали, но лепить много кода в конструкторах и деструкторах не очень правильное дело, это порицается в джаве и в джаваскрипт технологиях. Даже конфигурирование экземпляра обычно делегируется какой-нибудь фабрике, билдеру или иок-контейнеру. Про RAII видимо лучше забыть как об очередном антипаттерне, коих сейчас много популяризируется или оставить только там где требуется элегантное оборачивание ресурсов. Важно что-бы конструирование у вас была конкретно определено в методе или классе, а не происходило абы как как обычно сделано в процедурном коде отрицателей ООП. По своему опыту могу отметить, что на приличной инфраструктуре типа Qt, Wt, Poco выстрелы в ногу не являются поведением по умолчанию, а некоторые неоднозначности в С++ объясняются историческим развитием, а не вредительским умыслом создателей как во многих популярных языках, в т.ч. «убийцах» С++ и убийцах убийц. Если С++ позволяет делать приемлемо при прямых руках, значит он предпочтительнее технологий безусловно навязывающих антипаттерны к коим относится и процедурный код без ООП.

Исходная версия Syncro, :

сорян если запоздало, только дочитал все, и вроде это уже отмечали, но лепить много кода в конструкторах и деструкторах не очень правильное дело, это порицается в джаве и в джаваскрипт технологиях. Даже конфигурирование экземпляра обычно делегируется какой-нибудь фабрике, билдеру или иок-контейнеру. Про RAII видимо лучше забыть как об очередном антипаттерне, коих сейчас много популяризируется или оставить только там где требуется элегантное оборачивание ресурсов. Важно что-бы конструирование у вас была конкретно определено в методе или классе, а не происходило абы как в процедурном коде отрицателей ООП. По своему опыту могу отметить, что на приличной инфраструктуре типа Qt, Wt, Poco выстрелы в ногу не являются поведением по умолчанию, а некоторые неоднозначности в С++ объясняются историческим развитием, а не вредительским умыслом создателей как во многих популярных языках, в т.ч. «убийцах» С++ и убийцах убийц. Если С++ позволяет делать приемлемо при прямых руках, значит он предпочтительнее технологий безусловно навязывающих антипаттерны к коим относится и процедурный код без ООП.