<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xml:base="https://graker.ru/en" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Drupals</title>
    <link>https://graker.ru/en</link>
    <description>Feed of the Graker.Ru home page</description>
    <language>en</language>
    
    <item>
  <title>Нейросети и анализ кода</title>
  <link>https://graker.ru/news/2026/07/22/ai-code-analysis</link>
  <description>&lt;div class=&quot;paragraph paragraph--text&quot;&gt;&lt;p&gt;Yesterday I was estimating a group of ~40 tickets. All of them were created from an AI code analysis report on a large Drupal project. The project is about 10 years old, the codebase has evolved all this time, 20 subdomains, integrations, APIs, content synchronization — all in all, a cool project.&lt;/p&gt;
&lt;p&gt;The report is structured, the neural network checked the project for all four horsemen of the apocalypse: Vulnerabilities, Bugs, Slowness and Dirty Code. Originally the report produced many more tasks, but I slapped won&#039;t fix on about 30% of them right away. There were glitches and misunderstandings of the context. But 40 tickets still remained.&lt;/p&gt;
&lt;p&gt;Most of them are also tasks of the very lowest priority, like&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a custom module doesn&#039;t declare a dependency on something like paragraphs;&lt;/li&gt;
&lt;li&gt;somewhere in the code a brazen programmer called \Drupal::service() instead of using dependency injection;&lt;/li&gt;
&lt;li&gt;somewhere deprecated Drupal versions haven&#039;t been removed from the supported versions, and so on.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There were also a few more serious issues:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a couple of N+1 problems;&lt;/li&gt;
&lt;li&gt;several XSS vulnerabilities (only accessible to admins, but still);&lt;/li&gt;
&lt;li&gt;several places lacking checks for whether a key exists in an array (spamming the log with warnings);&lt;/li&gt;
&lt;li&gt;and even one timing oracle vulnerability.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Yes, dirty code is a sign of dirty thoughts :) Yes, it would be nice to clean it all up. But apart from 3–4 issues, it adds up to more than a hundred hours of work in total, and the payoff is slightly cleaner code, tidied-up legacy, a bit less tech debt and fewer warning/debug entries in the log. It&#039;s nice, of course, when the client doesn&#039;t mind such a spring cleaning. And all honor and glory to the account managers who can convince the client of the need for such cleaning when its value to the end user is roughly zero.&lt;/p&gt;
&lt;p&gt;And these reports still leave a strange feeling. They do find something. But so far these reports bring much more fuss than benefit.&lt;/p&gt;&lt;/div&gt;
</description>
  <pubDate>Wed, 22 Jul 2026 09:15:00 +0000</pubDate>
    <dc:creator>graker</dc:creator>
    <guid isPermaLink="false">2227 at https://graker.ru</guid>
    </item>

  </channel>
</rss>
