#clangtidy

πŸš€ ΠΠ΅ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΉ Π’Ρ‹Π΄ΡƒΠΌΡ‰ΠΈΠΊ πŸ‘¨β€πŸ”¬grumb@shitpost.poridge.club
2025-06-25

Как Π½Π° счёт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ΠΎ Π½Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ лишь профСссионалов с Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ знания языков программирования?
А Π½Π΅ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ считаСт, Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠ΄ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ βˆ’1.

#include <vector>
#include <numeric>
#include <iostream>

int average(const std::vector<int>& v) {
    if (v.empty()) {
        return 0;
    }
    return std::accumulate(v.begin(), v.end(), 0) / v.size();
}

int main() {
    std::cout << average({-1,-1,-1});
}
Если Π½Π΅ вСрится, Ρ‚ΠΎ https://godbolt.org/ Π² ΠΏΠΎΠΌΠΎΡ‰ΡŒ.
Π‘ΡƒΠ΄ΡƒΡ‡ΠΈ собрано GCC ΠΈΠ»ΠΈ Clang для систСм x86-64 ΠΎΠ½ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚: 1431655764.

Π˜Ρ€ΠΎΠ½ΠΈΡ постирониСй, Π° Π²ΠΎΡ‚ Π½Π΅ смСшно Π½ΠΈ Ρ€Π°Π·Ρƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Clang-Tidy Ρ‚Π°ΠΊΠΎΠ³ΠΎ Β«Π½Π΅ Π»ΠΎΠ²ΠΈΡ‚Β»
bugprone-narrowing-conversions.
(извиняюсь Π·Π° ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½-Π ΠΈΡ‡Ρ‡Ρ‡ΠΈ си-ΡˆΠ½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ Π² расстановкС Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок, Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Π΅Π΅).

#ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ #C++ #Π‘++ #Cpp #programming #softdev #staticanalysis #ClangTidy @russian_mastodon@mastodon.social @Russia@3zi.ru

2025-05-07

Clang-tidy helps modernize C/C++ code by detecting bugs, inefficiencies & outdated patterns. While setup can be tricky, it's a powerful ally for migrating large codebases to modern C++. #Cpp #ClangTidy #StaticAnalysis #CodeQuality
youtube.com/watch?v=EWq4mXjeDV

2025-05-05

Наблюдая Π·Π° публикациями ΠΈ выступлСниями АндрСя ΠšΠ°Ρ€ΠΏΠΎΠ²Π° ΠΈΠ· PVS-Studio постоянно Π»ΠΎΠ²ΠΈΠ» сСбя Π½Π° фСйспалмС. ОсобСнно, ΠΊΠΎΠ³Π΄Π° этот Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π±Π΅Π³Π°Π» ΠΏΠΎ LinkedIn ΠΈ набивался Π² Π΄Ρ€ΡƒΠ·ΡŒΡ ΠΊΠΎ всСм подряд.

И Π²ΠΎΡ‚ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ сомнСвался, Ρ‡Ρ‚ΠΎ Π² своём ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΉΡ‚ΠΈ дальшС. Нисколько Π½Π΅ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡŒ ΠΈ Π½Π΅ тормозя ΠΏΡ€ΠΎΠ±ΠΈΡ‚ΡŒ Β«Π΄Π½ΠΎ-Π΄Π½ΠΈΡ‰Π΅Β» Π½Π΅ ΠΎΠ΄Π½ΠΎ ΠΈ Π½Π΅ Π΄Π²Π° сразу.

Π’ Ρ‡Ρ‘ΠΌ лишний Ρ€Π°Π· ΠΈ убСдился полистав Π΅Π³ΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ опус β€” Π°ΠΆ Ρ†Π΅Π»ΡƒΡŽ ΠΊΠ½ΠΈΠΆΠΊΡƒ: Β«Π’Ρ€Π΅Π΄Π½Ρ‹Π΅ совСты для C++ программистов»

Π”Π°Π²Π½Π΅Π½ΡŒΠΊΠΎ Π½Π΅ доводилось Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒ ΡƒΠ±ΠΎΠ³ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΠ»Π°Π½Π΅ вёрстки ΠΈ Ρ‚ΠΈΠΏΠΎΠ³Ρ€Π°Ρ„ΠΈΠΊΠΈ. Настоящая колхозная ΡΠ°ΠΌΠΎΠ΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 21-Π³ΠΎ Π²Π΅ΠΊΠ°.

Π—Π° ΡΡƒΡ‚ΡŒ ΠΈ содСрТимоС Π½Π΅ подскаТу, чувство гадливости Π½Π°ΠΏΡ€ΠΎΡ‡ΡŒ ΠΎΡ‚ΡˆΠΈΠ±Π°Π΅Ρ‚ любоС ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚.

Бпасибо, АндрСй, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡˆΡŒ Ρ€Π°Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ‚Π΅ΡˆΠΈΡ‚ΡŒ нас! Настоящий со-ΡƒΡ‡Ρ€Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒ ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΉ бизнСсмСн ИВ-сСктора, стоящий Π½Π° страТС качСства ΠΈ надёТности АИБ!

P.S. ΠœΡ‹ ΠΊΠ°ΠΊ пользовались #ClangTidy Π΄Π° #CppCheck Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ, Π½Π΅ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ #PVSStudio ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, Π° ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΏΠΈΠ°Ρ€ΠΈΡ‚, ΠΊΡ‚ΠΎ Π·Π° Π½ΠΈΠΌ стоит (Π² Ρ‚Π²ΠΎΡ‘ΠΌ Π»ΠΈΡ†Π΅).

#ΠΊΠ½ΠΈΠ³ΠΈ #C++ #Π‘++ #ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ #programming

2025-01-30

БСзопасная Ρ€Π°Π±ΠΎΡ‚Π° с ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Π² Π‘++

ПослС ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π° Π΄Π°Π½Π½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»ΠΈ внимания, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, это Π½Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ инструмСнт, Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ для Π±ΠΎΠ΅Π²ΠΎΠ³ΠΎ примСнСния Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ работоспособости ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ использования ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² компилятора для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ сСмантичСского контроля исходного ΠΊΠΎΠ΄Π° Π‘++ Π²ΠΎ врСмя компиляции. А Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π° я взял ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈΠ· языка NewLang с минимальной Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎΠ΄ C++ . Π’ΠΎ Π΅ΡΡ‚ΡŒ основная идСя ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ β€” ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΏΠ»Π°Π³ΠΈΠ½Π° компилятора для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° исходного тСкста, Π° Π½Π΅ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ (которая ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ объСмС ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° Π‘++ ΠΈΠ·-Π·Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² этих языках программирования). Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ всС ΠΆΠ΅ ΡƒΠ»ΠΎΠ²ΠΈΠ»ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΌΡ‹ΡΠ»ΡŒ ΠΈ проявило интСрСс ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΌΡƒ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌΡƒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ бСзопасной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Π‘++ Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости со старым ΠΊΠΎΠ΄ΠΎΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡΠΌΡƒΡ‰Π°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ отсылкой ΠΊ нСизвСстному для Π½ΠΈΡ… Π½ΠΎΠ²ΠΎΠΌΡƒ языку, я Π½Π°Ρ‡Π°Π» Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄ чистый Π‘++ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ спСцифичСских для Π‘++ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. А ΠΏΠΎΠΊΠ° ΠΈΠ΄Π΅Ρ‚ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ»Π°Π³ΠΈΠ½Π° ΠΈ ΠΌΠ½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ квСстом, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»ΠΈΠΌΡ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅Ρ€Ρ‚ΡƒΡ€Ρ‹Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π‘++ Π½Π° ΠΏΡƒΡ‚ΠΈ ΠΊ бСзопасному программирования. И ΠΏΠΎΠ²ΠΎΠ΄ΠΎΠΌ для Ρ‚ΠΎΠ³ΠΎ стали ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹.

habr.com/ru/articles/878156/

#clang #clangtidy #plugin #memory_management #memory_safety #iterator

2025-01-18

БСзопасная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π‘++ Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° MemSafe ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ для Clang

Π‘Ρ‚Π°Ρ‚ΡŒΡ Π² ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹ бСзопасной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Π‘++ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°. ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ тСзисы: Π‘Ρ‚Ρ€Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅ Π‘++ ΡΡ‚Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ "бСзопасным" языком программирования ΠΏΠ»ΠΎΡ…ΠΎ сочСтаСтся с трСбования ΠΊ стандарту языка. Π’Π΅Π΄ΡŒ любой стандарт Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ со старым лСгаси ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‡Ρ‚ΠΎ автоматичСски сводит Π½Π° Π½Π΅Ρ‚ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ внСдрСния ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ Π½ΠΎΠ²ΠΎΠΉ лСксики Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ стандарта Π‘++. А Ρ€Π°Π· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Π‘++ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ стандартов, Ρ‚ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚, Ρ‡Ρ‚ΠΎ: ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… стандартов Π‘++ с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ лСксики для бСзопасной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ лСгаси ΠΊΠΎΠ΄ΠΎΠΌ. ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ всю ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ Π‘++ ΠΏΠΎΠ΄ Π½ΠΎΠ²ΡƒΡŽ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ лСксику (Ссли Π±Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ стандартны Π±Ρ‹Π»ΠΈ приняты), Π½ΠΈΡ‡ΡƒΡ‚ΡŒ Π½Π΅ дСшСвлС, Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ этот ΠΆΠ΅ ΠΊΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΠΎΠΌ ΠΌΠΎΠ΄Π½ΠΎΠΌ языкС программирования. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ ситуации являСтся рСализация Ρ‚Π°ΠΊΠΎΠ³ΠΎ синтаксиса бСзопасного Π‘++ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ±Π° этих трСбования. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ самый Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ Π»ΠΈΠ±ΠΎ Π½ΠΎΠ²Ρ‹Π΅ стандарты Π‘++ для измСнСния лСксики, Π° ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ принятыС Ρ€Π°Π½Π΅Π΅.

habr.com/ru/articles/874648/

#clang #clangtidy #plugin #memory_management #memory #safety

2025-01-12

БСзопасная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π‘++ Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости с лСгаси ΠΊΠΎΠ΄ΠΎΠΌ

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° бСзопасной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Π‘++ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π½Π΅ Π²Ρ‡Π΅Ρ€Π°, ΠΈ ΠΎΠ½Π° достигла Ρ‚Π°ΠΊΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ языки программирования , ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π½Π° самом высоком ΡƒΡ€ΠΎΠ²Π½Π΅. Но Π΄Π°ΠΆΠ΅ нСсмотря Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ, ΠΏΠ»Π°Π½Ρ‹ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π‘++ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ бСзопасный язык программирования, часто Π½Π΅ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… финансовых расчСтов. Π’Π΅Π΄ΡŒ Ссли ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π‘++, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ придСтся Π΄Π΅Π»Π°Ρ‚ΡŒ с ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π°ΠΌΠΈ строк ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ написаны Π·Π° нСсколько ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… дСсятилСтий? К соТалСнию, ΠΈ сам Π‘++ Π½Π΅ особо стрСмится ΡΡ‚Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ "бСзопасным". Π’ΠΎΡ‡Π½Π΅Π΅, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ стрСмлСниС ΠΏΠ»ΠΎΡ…ΠΎ сочСтаСтся с трСбования ΠΊ стандарту языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ΠΎΠΌ ΠΏΠΎ стандартизации Π‘++. Π’Π΅Π΄ΡŒ любой стандарт Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ со всСм старым лСгаси ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‡Ρ‚ΠΎ автоматичСски сводит Π½Π° Π½Π΅Ρ‚ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ внСдрСния ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ Π½ΠΎΠ²ΠΎΠΉ лСксики Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ стандарта Π‘++. И Π² это ситуации ΠΏΡ€Π°Π²Ρ‹ Ρ‚Π΅, ΠΊΡ‚ΠΎ выступаСт Π·Π° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости со старым ΠΊΠΎΠ΄ΠΎΠΌ. Но ΠΏΡ€Π°Π²Ρ‹ ΠΈ Ρ‚Π΅, ΠΊΡ‚ΠΎ считаСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй для бСзопасной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Π‘++ хотя Π±Ρ‹ Π² Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚, казалось Π±Ρ‹ , Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ ΠΈ Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌΡ‹Π΅ противорСчия: Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Π‘++ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ стандартов языка. ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… стандартов Π‘++ с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ лСксики для бСзопасной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ лСгаси ΠΊΠΎΠ΄ΠΎΠΌ. ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ всю ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ Π‘++ ΠΏΠΎΠ΄ Π½ΠΎΠ²ΡƒΡŽ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ лСксику (Ссли Π±Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ стандартны Π±Ρ‹Π»ΠΈ приняты), Π½ΠΈΡ‡ΡƒΡ‚ΡŒ Π½Π΅ дСшСвлС, Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ этот ΠΆΠ΅ ΠΊΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΠΎΠΌ ΠΌΠΎΠ΄Π½ΠΎΠΌ языкС программирования. Но ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Π°Π±Π·Π°Ρ†Π΅ являСтся Ρ„Ρ€Π°Π·Π° "казалось Π±Ρ‹".

habr.com/ru/articles/872956/

#clang #clangtidy #plugin #memory_management #memory #safety

2024-10-25

Building on clang-tidy to Move From printf-style to std::print-style Logging and Beyond – by @mikecrowe

youtube.com/watch?v=0A5B0vciIS

#clang #clangtidy #cplusplus #cpp #programming

2024-10-16

Building on clang-tidy to Move From printf-style to std::print-style Logging and Beyond – by @mikecrowe

youtube.com/watch?v=0A5B0vciIS

#clang #clangtidy #cplusplus #cpp #programming

2024-10-09

Building on clang-tidy to Move From printf-style to std::print-style Logging and Beyond – by @mikecrowe

youtube.com/watch?v=0A5B0vciIS

#clang #clangtidy #cplusplus #cpp #programming

2024-10-04

Building on clang-tidy to Move From printf-style to std::print-style Logging and Beyond – by @mikecrowe

youtube.com/watch?v=0A5B0vciIS

#clang #clangtidy #cplusplus #cpp #programming

2024-10-01

Building on clang-tidy to Move From printf-style to std::print-style Logging and Beyond – by @mikecrowe

youtube.com/watch?v=0A5B0vciIS

#clang #clangtidy #cplusplus #cpp #programming

2024-09-30

Building on clang-tidy to Move From printf-style to std::print-style Logging and Beyond – by @mikecrowe

youtube.com/watch?v=0A5B0vciIS

#clang #clangtidy #cplusplus #cpp #programming

2024-09-21

Wanted to enable clang-tidy on my projects.

Disappointment 1: CMake can't find clang-tidy shipped with MSVC.
Disappointment 2: CMake way of enabling clang-tidy doesn't work with MSVC.
Disappointment 3: clang-tidy shipped with MSVC doesn't fare well with C++23.

#cpp #clangtidy

looopToolslooopTools
2024-06-27

Anyone who has a config for running clang tidy on save they are willing to share ?

2024-05-31

C++OnSea 2024 SESSION ANNOUNCEMENT: Building on clang-tidy to Move From printf-style to std::print-style Logging and Beyond by @mikecrowe

cpponsea.uk/2024/sessions/buil

Register now at cpponsea.uk/tickets/

#clangtidy #logging #cpp #cplusplus

2024-05-21

C++OnSea 2024 SESSION ANNOUNCEMENT: Building on clang-tidy to Move From printf-style to std::print-style Logging and Beyond by @mikecrowe

cpponsea.uk/2024/sessions/buil

Register now at cpponsea.uk/tickets/

#clangtidy #logging #cpp #cplusplus

2023-12-18

Can I haz faster clang-tidy with even more checks, please? 😺

#clangtidy #CPlusCplus #cxx

2023-12-14

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Π‘++ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ дСвайсов

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€. МСня Π·ΠΎΠ²ΡƒΡ‚ АндрСй Π‘Π΅Π»ΠΎΠ±Ρ€ΠΎΠ². Π― Ρ‚ΠΈΠΌΠ»ΠΈΠ΄ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… прилоТСния для ΡƒΠΌΠ½Ρ‹Ρ… дСвайсов Π‘Π±Π΅Ρ€Π°. На ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅ΠΉ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ Π‘Π°Π»ΡŽΡ‚, OS DevConf! я выступил с Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠΌ , Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ рассказал, ΠΊΠ°ΠΊ ΠΌΡ‹ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ прилоТСния Π½Π° Π‘++ для ΡƒΠΌΠ½Ρ‹Ρ… устройств с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ассистСнтом. А Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ инструмСнты статичСского ΠΈ динамичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ ΠΈ высокоС качСство ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π’ΠΎ врСмя Π΄ΠΎΠΊΠ»Π°Π΄Π° мСня попросили ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈ нашСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅, поэтому Ρ€Π°Π΄ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π²Π°ΠΌΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ тСкстовой вСрсиСй. ВсС наши устройства Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΌΠ΅Ρ‚ΡŒ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ c Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ассистСнтом, ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΡƒΠ·Ρ‹ΠΊΡƒ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Ρ‚.Π΄.. Вакая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ для всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½Π°ΡˆΠΈΡ… устройств, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ умная ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°, Π’Π’-приставка ΠΈΠ»ΠΈ ΡƒΠΌΠ½Ρ‹ΠΉ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€. Π―Π·Ρ‹ΠΊ Π‘++ позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ эффСктивный ΠΈ пСрСносимый ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΊΠΎΠ΄, поэтому Π²Ρ‹Π±ΠΎΡ€ языка программирования для нашСго прилоТСния Π±Ρ‹Π» ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½. ΠŸΡ€ΠΈ этом язык извСстСн своСй ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Ρƒ нСсколькими способами. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ большой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° языкС C++, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ (Π° это нСсколько дСсятков ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ²). Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° C++ Π·Π° счСт использования подходящих инструмСнтов статичСского ΠΈ динамичСского Π°Π½Π°Π»ΠΈΠ·Π°, ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡ… Π² процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

habr.com/ru/companies/sberdevi

#с++ #clangtidy #unittesting #embedded #динамичСский_Π°Π½Π°Π»ΠΈΠ·_ΠΊΠΎΠ΄Π° #статичСский_Π°Π½Π°Π»ΠΈΠ·_ΠΊΠΎΠ΄Π° #качСство_ΠΊΠΎΠ΄Π° #clangformat

2022-11-22

@matus_chochlik really cool solution! I'm using clang-tidy on pretty big code bases at work and have exactly these problems.
#clangtidy #staticanalysis #cpp

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst