Устал изобретать велосипеды
усиленно изучаю c++, делаю свои тестовые проектики, и, вроде бы, все даже хорошо, все работает, но, такое чувство, что я застрял на каком-то низкоуровневом, процедурном программировании, то есть, когда я что-то делаю и пытаюсь использовать вспомогательные библиотеки, то ничего толкового из этого не выходит и приходится "изобретать велосипед". Как вообще у клалифицированных программистов это происходит при работе на реальных проектах? Откуда берете чьи-то наработки и т.п. Может знаете какие-нибудь полезные статьи, которые помогут разобраться, или просто поделитесь опытом) Спасибо!
Ответы (1 шт):
Вопрос у вас немного обобщённый честно говоря, поэтому не буду говорить конкретно.
Для проблем устраняющих/обходящих языковые проблемы а также, например, недостатки стандартной библиотеки ознакомьтесь с идиомами - уверен найдёте много техник для написания эффективного и простого С++ кода.
Касательно библиотек - тут все очень зависит от их предметной области, например если используется мат. либа то "не на гавнокодить" часто приравнивается к тому, чтобы правильно использовать API данной либы, что в свою очередь подразумевает некую осведомлённость в этой самой предметной области (допустим в лин. алгебре и численных методах), плюс по возможности детальное изучение его API.
Касательно реальных С++ проектов - в виду древности языка в 70-80 процентов случаев вся архитектура уже построена и реализована, поэтому тут важно разобраться с уже построенной структурой.
Допустим, ваша задача специфична для проекта, и требует, например, частого обращения к внутренним API - в таком случае наработки, соответственно, берёте из уже существущей кодовой базы, где есть нечто реализованное и похожее на вашу задачу. В случае же с чем-то радикально новым которое интегрируется в проект, очень много наработок с пояснениями по многих областям software engineering a есть, например тут.
Как-то так, надеюсь чем-то помог