﻿# Дайте посмотреть на нормальный С\+\+ проект, созданный вайб\-кодингом

Чтобы корректировать развитие PVS\-Studio я заинтересован смотреть C\+\+ проекты, созданные с использованием генеративного AI или, по\-простому, вайб\-кодинга\. Но вот незадача: все кругом пишут про этот самый вайб\-кодинг, но я не знаю, как и где искать такие открытые проекты\.

![1379_enhance_client_ru/image1.png](https://import.viva64.com/docx/blog/1379_enhance_client_ru/image1.png)

Мне попадается какая\-то белиберда типа [enhance\-client](https://github.com/gravecan/enhance-client/tree/main), сгенерированная за $15\. Но это даже смотреть несерьёзно\. По присутствию в репозитории `.obj`, `.iobj`, `.ipdb` файлов и прочего мусора видно, что автор не понимает, что он делает\. Проект не компилируется по разным причинам, например, из\-за того, что заложен какой\-то огрызок файла [bytes\.hpp](https://github.com/gravecan/enhance-client/blob/642f90eafd954c076a34d60f811de77fdb9f705c/injector/bytes.hpp#L25744) \(у массива нет конца\)\.

Если немного поправить и проверить, что удалось собрать, то там лезут перлы вида:

```cpp
void enhance::modules::autototem::run()
{
  ....
  auto env = enhance::instance->get_env();
  if (!env)
  {
    env->DeleteLocalRef(player);
    return;
  }
  ....
}
```

Предупреждение PVS\-Studio: [V522](https://pvs-studio.ru/ru/docs/warnings/v522/) \[CWE\-476, CERT\-EXP34\-C, SEC\-NULL\] Dereferencing of the null pointer 'env' might take place\. [autototem\.cpp 757](https://github.com/gravecan/enhance-client/blob/642f90eafd954c076a34d60f811de77fdb9f705c/enhance/modules/autototem/autototem.cpp#L757)

Явное разыменование нулевого указателя\.

Или бессмысленные сравнения значения типа `int` с константой `0.1f`:

```cpp
int sdk::minecraft_client::get_attack_cooldown() { .... }

void enhance::modules::shield_breaker::run()
{
  ....
  if (sdk::instance->get_attack_cooldown() > 0.1f)
  ....
}
```

Предупреждение PVS\-Studio: [V674](https://pvs-studio.ru/ru/docs/warnings/v674/) \[CWE\-682, CERT\-FLP36\-C\] The '0\.1f' literal of the 'float' type is compared to a value of the 'int' type\. [shield\_breaker\.cpp 628](https://github.com/gravecan/enhance-client/blob/642f90eafd954c076a34d60f811de77fdb9f705c/enhance/modules/shield_breaker/shield_breaker.cpp#L628)

Такие ляпы нет смысла серьёзно разбирать и описывать\.

Можно спросить: "А что ты хочешь от поделок за 15$?" Да, в общем\-то, ничего, но вместо нормальных проектов попадаются они\. Мне интересно изучить большие открытые проекты нормального качества, при написании которых активно используется GenAI\. А то пока ощущение, что термин "вайб\-кодинг" есть, а C\+\+ проектов нет\. Или за них стыдно? :\)

Если вы знаете подобные большие проекты, то присылайте ссылки на них в комментарии\. Заранее спасибо\.

Предыдущие публикации по мелким проектам:

1. [Давайте заглянем в этот самый вайб\-код](https://pvs-studio.ru/ru/blog/posts/cpp/1354/)\.
1. [Ревью вайб\-кода с гнильцой, который притворяется оптимизированным С\+\+ кодом](https://pvs-studio.ru/ru/blog/posts/cpp/1366/)\.