From c5ff5debcefac8e0bd0a6384fa16cdc4de61c048 Mon Sep 17 00:00:00 2001 From: Ben Adams Date: Sun, 8 Feb 2026 19:07:08 +0000 Subject: [PATCH] AGENTS shouldn't be repetitive when adding code --- AGENTS.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index cb191a70b802..e4db9f0b0135 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -28,6 +28,10 @@ This guide helps to get started with the Nethermind Ethereum execution client re - Add tests to existing test files rather than creating new ones - Code comments must explain _why_, not _what_ - **NEVER suggest using LINQ (`.Select()`, `.Where()`, `.Any()`, etc.) when a simple `foreach` or `for` loop would work.** LINQ has overhead and is less readable for simple iterations. Use LINQ only for complex queries where the declarative syntax significantly improves clarity. +- When fixing a bug, always add a regression test that fails without the fix and passes with it +- Keep changes minimal and focused: do not rename variables, reformat surrounding code, or refactor unrelated logic as part of a fix. Touch only what is necessary to solve the problem. +- Follow DRY: after making changes, review the result for duplicated logic. Extract repeated blocks (roughly 5+ lines) into shared methods, but do not over-extract trivial one-liners into their own methods. +- In generic types, move methods that do not depend on the type parameter to a non-generic base class or static helper to avoid redundant JIT instantiations per closed type. - Do not use the `#region` and `#endregion` pragmas - Do not alter anything in the [src/bench_precompiles](./src/bench_precompiles/) and [src/tests](./src/tests/) directories