Clean Code
13.4K subscribers
2.29K photos
5 videos
2.93K links
Советы по написанию кода, обзоры распространенных ошибок и многое другое.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

РКН: clck.ru/3Ht6ch
加入频道
Learncpp

Это бесплатный веб-сайт, посвященный обучению программированию на C++. Независимо от того, был ли у вас какой-либо предыдущий опыт программирования или нет, учебные пособия на этом сайте помогут вам выполнить все шаги по написанию, компиляции и отладке ваших программ на C++, и все это с большим количеством примеров.

📑 Сайт

Clean Code #инструменты #C_plus_plus
Cppstudio

Здесь собрано большое количество статей для начинающих программистов по С++. Условно все статьи разделены на группы, кратко характеризующие их содержание. После прочтения статьи, можно закрепить материал, написав несколько программ. Для проверки своих теоретических знаний можно пройти тестирование по С++. В таблице после теоретических статей идет подраздел практики, в котором вы можете пройти тестирование и написать программы.

📑 Сайт

Clean Code #инструменты #C_Plus_Plus
🧑‍💻 Рекомендаций по стилю написания программ на C++

Новая серия советов по C++. Рекомендации основаны на установившихся стандартах, собранных из различных источников, личного опыта, частных требований и потребностей определённых проектов.

Допускаются любые нарушения рекомендаций, если это улучшает читаемость.

Основная цель рекомендаций — улучшение читаемости и, следовательно, ясности и лёгкости поддержки, а также общего качества кода. Невозможно дать рекомендации на все случаи жизни, поэтому программист должен мыслить гибко.

Продолжение следует...

Clean Code #совет #C_Plus_Plus #cleancode
🧑‍💻 Рекомендаций по стилю написания программ на C++

...Правила могут быть нарушены, если против них есть персональные возражения.

Это попытка создать набор общих рекомендаций, не навязывая всем единый стиль. Опытные программисты обычно всё равно подгоняют стиль под себя. Подобный список рекомендаций, имеющийся под рукой (или хотя бы требование ознакомиться с ним), обычно заставляет людей задумываться о стиле программирования и оценке их собственных практик в этой области.

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

Продолжение следует...

Clean Code #совет #C_Plus_Plus #cleancode
🧑‍💻 Общие соглашения об именовании в C++

Имена, представляющие типы, должны быть обязательно написаны в смешанном регистре, начиная с верхнего.

Line, SavingsAccount

Общая практика в сообществе разработчиков C++.

Продолжение следует...

Clean Code #совет #C_Plus_Plus #cleancode
📖 ​Large-Scale C++ Volume I
🖋 John Debbie Lafferty, John Lakos, 2019

Написать надежное и удобное в обслуживании программное обеспечение на C++ сложно. Масштабная разработка такого программного обеспечения добавляет новый набор проблем. Создание крупномасштабных систем требует практического понимания логического дизайна - помимо теоретических концепций, рассматриваемых в наиболее популярных текстах. Чтобы добиться успеха, разработчики должны также заняться физическим проектированием - аспектом разработки программного обеспечения, который может быть незнаком даже опытным разработчикам. Обладая более чем 30-летним практическим опытом создания массивных критически важных корпоративных систем, Джон Лакос показывает, как создавать и развивать так называемый Software Capital. Этот новаторский сборник закладывает основу для проектов любого масштаба и демонстрирует процессы, методы, приемы и инструменты, необходимые для успешной разработки в реальном мире.

💾 Скачать книгу

Clean Code | #книги #C_Plus_Plus
🧑‍💻 Общие соглашения об именовании в C++

Имена переменных должны быть записаны в смешанном регистре, начиная с нижнего.

line, savingsAccount

Общая практика в сообществе разработчиков C++. Позволяет легко отличать переменные от типов, предотвращает потенциальные коллизии имён, например: Line line;

Продолжение следует...

Clean Code #совет #C_Plus_Plus #cleancode
🧑‍💻 Общие соглашения об именовании в C++

Именованные константы (включая значения перечислений) должны быть записаны в верхнем регистре с нижним подчёркиванием в качестве разделителя.

MAX_ITERATIONS, COLOR_RED, PI

Общая практика в сообществе разработчиков C++.

Продолжение следует...

Clean Code #совет #C_Plus_Plus #cleancode
🧑‍💻 Общие соглашения об именовании в C++

...Использование таких констант должно быть сведено к минимуму. В большинстве случаев реализация значения в виде метода — лучшее решение:

int getMaxIterations() // НЕЛЬЗЯ: MAX_ITERATIONS = 25
{
return 25;
}


Эта форма более читаемая и гарантирует единый интерфейс к значениям, хранящимся в классе.

Продолжение следует...

Clean Code #совет #C_Plus_Plus #cleancode
🧑‍💻 Общие соглашения об именовании в C++

Названия методов и функций должны быть глаголами, быть записанными в смешанном регистре и начинаться с нижнего.

getName(), computeTotalWidth()

Совпадает с правилом для переменных, но отличие между ними состоит в их специфических формах.

Продолжение следует...

Clean Code #совет #C_Plus_Plus #cleancode
📖​Data Structures and Algorithm Analysis in C++
🖋 Dr. Clifford A. Shaffer, 2011

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

💾 Скачать книгу

Clean Code | #книги #C_Plus_Plus
🧑‍💻 Общие соглашения об именовании в C++

...Названия пространств имён следует записывать в нижнем регистре.

model::analyzer, io::iomanager, common::math::geometry

Общая практика в сообществе разработчиков C++.

Продолжение следует...

Clean Code #совет #C_Plus_Plus #cleancode
🧑‍💻 Общие соглашения об именовании в C++

...Следует называть имена типов в шаблонах одной заглавной буквой.

template<class T> ...
template<class C, class D> ...

Общая практика в сообществе разработчиков C++. Позволяет выделить имена шаблонов среди других используемых имён.

Продолжение следует...

Clean Code #совет #C_Plus_Plus #cleancode
🧑‍💻 Общие соглашения об именовании в C++

Аббревиатуры и сокращения в именах должны записываться в нижнем регистре.

exportHtmlSource(); // НЕЛЬЗЯ: exportHTMLSource();
openDvdPlayer(); // НЕЛЬЗЯ: openDVDPlayer();


Продолжение следует...

Clean Code #совет #HTML #C_Plus_Plus #cleancode
WinMerge

Сравнивает файлы и папки и помогает вам объединить конфликтующие файлы исходного кода. WinMerge можно использовать в качестве внешнего инструмента определения разностей/слияния, или как автономное приложение.

📑 Сайт

Clean Code #инструменты #C_plus_plus
📖C++ Programming
🖋 D. S. Malik, 2018

В книге демонстрируются различные особенности и возможности языка программирования C++. С помощью книги вы сможете разобраться в этом непростом языке и научиться решать реальные задачи, практикуясь на упражнениях в конце каждой главы.

💾 Скачать книгу

Clean Code | #книги #C_Plus_Plus
📖C++20 for Lazy Programmers
🖋 Will Briggs, 2020

Эта книга поможет вам выучить язык C++. Она предоставляет подробную информацию как по компиляторам Visual Studio, так и по компиляторам g++, а также их отладчикам. Работая с книгой, вы выполните ряд лабораторных работ: проекты, предназначенные для улучшения ваших способностей, проверки новых навыков. Вы не только познакомитесь с основами языка, но и узнаете, как создать интересный проект аркадной игры на C++. После прочтения этой книги вы будете готовы к созданию своего первого полноценного приложения на C++ или игрового проекта самостоятельно. Также книга включает в себя множество фич из нового стандарта C++20, таких как диапазоны, промежутки, оператор «spaceship» и другие, а также предоставляет краткое введение в модули и сопрограммы.

💾 Скачать книгу

Clean Code | #книги #C_Plus_Plus
📖​Options and Derivatives Programming in C++
🖋 Carlos Oliveira, 2016

Узнайте, как C++ используется при разработке решений для торговли опционами и деривативами. Как важная часть финансовой индустрии, торговля опционами и деривативами становится все более изощренной. Передовые методы торговли с использованием производных финансовых инструментов используются в банках, хедж-фондах и пенсионных фондах. Из-за высоких запросов по производительности большинство этих торговых систем разработано с использованием C++ в качестве основного языка реализации.

💾 Скачать книгу

Clean Code | #книги #C_Plus_Plus
📖SDL Game Development
🖋 Shaun Ross Mitchell, 2013

Создание игр на C++ - это сложный процесс, требующий много времени и самоотдачи для достижения результатов. Правильный подход к формированию кодовой базы ускоряет время разработки и позволяет сосредоточиться на создании игры, а не на решении проблем с кодом.

💾 Скачать книгу

Clean Code | #книги #C_Plus_Plus
📖C++. Практика многопоточного программирования, Второе издание
🖋 Уильямс Энтони, 2020

Язык С++ выбирают, когда надо создать по-настоящему молниеносные приложения. Новые возможности С++17 позволяют использовать всю силу многопоточного программирования, чтобы с легкостью решать задачи графической обработки, машинного обучения, которые требуют большой вычислительной мощности

💾 Скачать книгу

Clean Code | #книги #C_Plus_Plus