Pull to refresh
-29
@svr_91read⁠-⁠only

Пользователь

Send message
Для того, чтобы писать более простой и понятный код. Зачем это сделано в rust например? Там многие идеи выглядят похожим образом
Конкретно в данном случае это особенность представления данных, если нам нужно вернуть ошибку, от этого никуда не деться. Да и в этом случае возможно будет RVO или что-то вроде этого, а если делать без Optional, то RVO будет точно.
В любом случае, заботиться о скорости работы именно на этом этапе разработки программы бесмыссленно. В том смысле, что лучше убирать «бутылочные горлышки» точечно, а не жертвуя выразительностью ради производительности
Да, но именно про это и была моя статья. Очень странное чувство, что хабр мне показывает какую-то другую статью, в отличие от остальных читателей :) Но видимо такая уж дурацкая у меня форма подачи, что не смог выделить ключевые моменты
А можете пояснить, в чем например я не смог разобраться?
Такое чувство, что мне не удалось донести своей статьей свои мысли. Потому что то, что пишите Вы, и другие комментаторы, почти все из этого я и пытался донести до читателя, за исключением некоторых пунктов.
Да, про это и есть моя статья
А где я писал, что виноват C++? C++ довольно гибкий язык, но эту гибкость нужно использовать с умом
Много чего может делать. В стандартную библиотеку даже специально добавили класс std::finally
Я собственно к тому именно и призываю, чтобы не писать в деструкторах код, который занимается чем-то помимо освобождения памяти, но не всегда это возможно
Не всегда деструктор используется как удаление объекта. Иногда это какой-то финализатор, например «перед любым выходом из функции выполнить такой код»
Да, но для них нужно отдельную библиотеку подключать
По крайней мере Qt не смог. C++ такая вещь. Тут бы обычные вызовы методов все отыскать, а с деструкторами вообще швах
Одними typedef-ами тут не обойтись.
using Json = string
using Xml = string
это все один и тот же string

Можно передавать не строку а контейнер.

Можно, но зачастую слишком муторно пилить по контейнеру на каждый чих, чтобы воспользоваться ими всего в одном месте

Можно все разнести по разным классам с общей базой.

По мне довольно плохое решение

А вот статические методы — зло.

А почему они зло?
В том то и дело, что не нужно делать полу-созданные объекты. Функция должна возрващать целиком сконструированный объект
А вариант использовать другой класс не рассматривается?

Но результатом должна быть одна структура/класс. То есть мы должны получить из разных форматов одну структуру
Либо делать два разных метода в классе?

По сути я это и предлагаю. Вместо конструкторов делать функции/статические методы
> то проект всё равно в срок никак сдать не получится
Не обязательно принимать все решения прямо в тот же спринт. Можно их чуть отложить на потом. Редко бывает что-то ну прям совсем срочное

> Да, техдолг и кривые решения удорожают разработку
А потом может возникнуть ситуация, что и в команду новые люди не идут, потому что легаси, и текущие спецы не могут устроиться на новую работу, потому что отстали от жизни

И вообще, в большинстве случаев работодатель нанимает новых людей по опыту. Но зачем, если в итоге этот опыт оказывается ненужен? А пилить код «от забора и до обеда» спокойно может и выпускник курсов
Но кто-то же всеже эти паркоместа купил? Ну купили бы их раньше, бегали бы другие недовольные вместо тех, кто сейчас
А у нас не в Москве, (с плотностью с точностью совпадающей с плотностью жителей в Праге вплоть до последней цифры) тоже наблюдается тенденция к высокооэтажной застройке

Ок, так понятнее

Information

Rating
Does not participate
Registered
Activity