mastodon.ie is one of the many independent Mastodon servers you can use to participate in the fediverse.
Irish Mastodon - run from Ireland, we welcome all who respect the community rules and members.

Administered by:

Server stats:

1.5K
active users

#cleancode

5 posts5 participants0 posts today
Yuna<p>We don't need more. We need less.</p><p>Every week:<br>🧠 A new framework.<br>⚙️ A new "layer".<br>🤖 A new AI wrapper.<br>🔄 A new YAML format to abstract what used to be a shell script.</p><p>And then we wonder:<br>"Why is our software hard to debug?"<br>"Why do our builds break randomly?"<br>"Why is onboarding a 6-month journey through tribal folklore?"</p><p>I once said I write bug-free software that can be finished.<br>People laughed, especially product people.<br>Not because it's wrong.<br>But because they’ve forgotten it's possible.</p><p>We build complexity on top of confusion:<br>A + B becomes C.<br>C + D becomes E.<br>Now, E is broken, and we would create a new layer, but nobody knows how A or B worked in the first place. For example HTML/JavaScript, we leave it there and just add layers around it.</p><p>Take XML.<br>Everyone says it's ugly.<br>But you could validate it automatically, generate diagrams, enforce structure.<br>Now we're parsing YAML with 7 linters and still can't tell if a space is a bug.</p><p>Take Gradle.<br>You can define catalogues, versioning, and settings, but can't update a dependency without reading 3 blogs and sacrificing a goat.<br>This is called "developer experience" now?</p><p>Take Spring Boot.<br>I wouldn't trust a Spring Boot or any java Framework powered airplane.<br>Too many CVEs. Too much magic. Too little control.</p><p>We don't need "smarter" tools.<br>We need dumber, boring, reliable defaults.</p><p>Start boring.<br>Start small.<br>Then only change the 1% that needs to be fast, clever, or shiny.<br>You'll rarely even reach that point.<br>Like everyone says, "Y is more performant and faster than X", but no one reached the limit of X. Why should I care? Meanwhile, we use performant AI.</p><p>Real engineering is not chasing hype.<br>It's understanding the system so deeply that you no longer need most of it.</p><p>We've replaced curiosity with cargo cults.<br>We've replaced learning with LLM prompting.</p><p>And somehow, we're surprised when AI loses to a 1980s Atari in a chess game.<br>At least the Atari understood its own memory.</p><p>Simplicity = less maintenance = fewer bugs = happier teams.</p><p>We need less. Not more.<br><a href="https://hachyderm.io/tags/devex" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>devex</span></a> <a href="https://hachyderm.io/tags/simplicity" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>simplicity</span></a> <a href="https://hachyderm.io/tags/softwareengineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>softwareengineering</span></a> <a href="https://hachyderm.io/tags/nocodependency" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>nocodependency</span></a>#stopthehype <a href="https://hachyderm.io/tags/bugfree" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bugfree</span></a> <a href="https://hachyderm.io/tags/springboot" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>springboot</span></a> <a href="https://hachyderm.io/tags/gradle" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gradle</span></a> <a href="https://hachyderm.io/tags/xml" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>xml</span></a> <a href="https://hachyderm.io/tags/yamlhell" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>yamlhell</span></a> <a href="https://hachyderm.io/tags/boringisgood" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>boringisgood</span></a> <a href="https://hachyderm.io/tags/minimalism" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>minimalism</span></a> <a href="https://hachyderm.io/tags/AIhype" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AIhype</span></a> <a href="https://hachyderm.io/tags/infrastructure" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>infrastructure</span></a> <a href="https://hachyderm.io/tags/cleancode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cleancode</span></a> <a href="https://hachyderm.io/tags/pragmatism" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pragmatism</span></a> <a href="https://hachyderm.io/tags/java" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>java</span></a> <a href="https://hachyderm.io/tags/NanoNative" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NanoNative</span></a></p>
JuanMa<p>🛠 We’ll split our test suite:<br>– /tests/unit → pure PHP logic, no WP<br>– /tests/integration → full WP env with WP_UnitTestCase<br>Fast where it can be, thorough where it must be. <a href="https://mastodon.social/tags/PHPUnit" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHPUnit</span></a> <a href="https://mastodon.social/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a> <a href="https://mastodon.social/tags/WordPress" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WordPress</span></a></p>
Jozef<p>✨ Defer for PHP (like in Go)<br>Never forget to close a file, release a lock, or roll back a transaction again. defer() runs your cleanup exactly when the function returns — even on early return or exceptions.<br>composer require tito10047/php-defer</p><p>Repo: <a href="https://github.com/tito10047/php-defer" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/tito10047/php-defer</span><span class="invisible"></span></a><br><a href="https://mastodon.social/tags/PHP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHP</span></a> <a href="https://mastodon.social/tags/Go" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Go</span></a> <a href="https://mastodon.social/tags/defer" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>defer</span></a> <a href="https://mastodon.social/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a> <a href="https://mastodon.social/tags/Symfony" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Symfony</span></a></p>
Jakub Neruda<p>Summer's almost over, energy refilled (wishful thinking), so I'd like to return to writing engineering articles. And I am kicking it off with the most explosive topics of all - Singleton design pattern. 💥</p><p>Is it really as evil as many people claim it is? Or is there more to it other than being a glorified global variable? Let's find out! 🔎</p><p>➤ <a href="https://medium.com/@nerudaj/is-singleton-design-pattern-truly-evil-11b394c222ba" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">medium.com/@nerudaj/is-singlet</span><span class="invisible">on-design-pattern-truly-evil-11b394c222ba</span></a></p><p>What are your experiences with the Singleton pattern? What is your stage of "grief" (explained in the article) when it comes to it? Let me know in the comments.</p><p><a href="https://techhub.social/tags/softwareengineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>softwareengineering</span></a> <a href="https://techhub.social/tags/designpatterns" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>designpatterns</span></a> <a href="https://techhub.social/tags/cleancode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cleancode</span></a></p>
HackerNoon<p>Avoid Magic numbers without explanation. You don't know their source and are very afraid of changing them. <a href="https://hackernoon.com/code-smell-02-dont-let-mysterious-numbers-rule-your-code" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">hackernoon.com/code-smell-02-d</span><span class="invisible">ont-let-mysterious-numbers-rule-your-code</span></a> <a href="https://mas.to/tags/cleancode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cleancode</span></a></p>
JuanMa<p>🧪 Live TDD demo: write a failing test, ship the tiniest fix, refactor. You’ll leave knowing the green-red-refactor loop by heart. <a href="https://mastodon.social/tags/TDD" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TDD</span></a> <a href="https://mastodon.social/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a></p>
BaselOne<p>Kennst du das? Du musst Code pflegen, den du nie selbst geschrieben hast – und der längst „tot“ oder vergessen ist? 😩</p><p>Dead-, Legacy- oder sogar Zombie-Code machen das Leben schwer. Wie erkennst du, was noch lebt? Und wie wirst du die „Leichen“ los? ⚔️</p><p><span class="h-card" translate="no"><a href="https://mastodon.social/@hansolo_" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>hansolo_</span></a></span> spricht auf der <a href="https://mastodon.social/tags/BaselOne25" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BaselOne25</span></a> genau darüber und zeigt Tools gegen Code-Müll: We hate code – The !joy of maintaining dead code am 16. Oktober.</p><p>Tickets &amp; Programm: <a href="https://baselone.org/#programm" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">baselone.org/#programm</span><span class="invisible"></span></a> </p><p><a href="https://mastodon.social/tags/Softwareentwicklung" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Softwareentwicklung</span></a> <a href="https://mastodon.social/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a> <a href="https://mastodon.social/tags/LegacyCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LegacyCode</span></a></p>
nickproud<p>New dev managers: help your team master the foundations.</p><p>✅ Dependency Injection<br>✅ Observer<br>✅ Repository</p><p>Lead by example. Set the standard.</p><p><a href="https://techhub.social/tags/DevLeadership" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DevLeadership</span></a> <a href="https://techhub.social/tags/DotNet" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DotNet</span></a> <a href="https://techhub.social/tags/CSharp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CSharp</span></a> <a href="https://techhub.social/tags/SoftwareDesign" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareDesign</span></a> <a href="https://techhub.social/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a> <a href="https://techhub.social/tags/TechLeadership" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TechLeadership</span></a></p>
HackerNoon<p>Time is not absolute. Your code breaks when you treat it that way. <a href="https://hackernoon.com/code-smell-307-naive-time-assumptions-and-how-to-fix-it" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">hackernoon.com/code-smell-307-</span><span class="invisible">naive-time-assumptions-and-how-to-fix-it</span></a> <a href="https://mas.to/tags/cleancode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cleancode</span></a></p>
PSConfEU<p>🛣️ From UML to Inheritance! At <a class="hashtag" rel="nofollow noopener" href="https://bsky.app/search?q=%23PSConfEU" target="_blank">#PSConfEU</a> 2025, <a class="mention" href="https://bsky.app/profile/stephanevg.bsky.social" rel="nofollow noopener" target="_blank">@stephanevg.bsky.social</a> took us on an OOP journey with <a class="hashtag" rel="nofollow noopener" href="https://bsky.app/search?q=%23PowerShell" target="_blank">#PowerShell</a> classes: ✔ Constructors &amp; static members ✔ Debugging tips ✔ Method overloading made fun 🎟️ PSConfEU 2026 tix live → <a href="https://psconf.eu" rel="nofollow noopener" target="_blank">psconf.eu</a> <a class="hashtag" rel="nofollow noopener" href="https://bsky.app/search?q=%23CleanCode" target="_blank">#CleanCode</a> <a class="hashtag" rel="nofollow noopener" href="https://bsky.app/search?q=%23PSConfEU2025" target="_blank">#PSConfEU2025</a><br><br><a href="https://youtu.be/7jx0KGLYQeM?si=bqsZLA179CND_bbM" rel="nofollow noopener" target="_blank">- YouTube</a></p>
minzmade<p>working on a new very short <a href="https://chaos.social/tags/presentation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>presentation</span></a> about <a href="https://chaos.social/tags/technicalDept" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>technicalDept</span></a>, <a href="https://chaos.social/tags/cleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cleanCode</span></a> and <a href="https://chaos.social/tags/metrics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>metrics</span></a>.<br>whole thing is done in <a href="https://chaos.social/tags/inkscape" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>inkscape</span></a>, clones and the spray tool are very helpful to create visual slides :fairydust:</p>
John Crosby<p>There's an art to writing code comments. Too many and nobody reads them. Too few and future developers curse your name. Find the sweet spot.</p><p><a href="https://mas.to/tags/Engineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Engineering</span></a> <a href="https://mas.to/tags/Documentation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Documentation</span></a> <a href="https://mas.to/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a></p>
Monospace Mentor<p>Favour composition over inheritance. Instead of deep class hierarchies, build objects by combining smaller, focused components. Easier to test, modify, and reason about. <a href="https://floss.social/tags/DesignPatterns" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DesignPatterns</span></a> <a href="https://floss.social/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a></p>
Monospace Mentor<p>The Single Responsibility Principle isn't just about classes - apply it to functions, modules, and even variables. Each should have one clear reason to change. Makes debugging and testing much easier. <a href="https://floss.social/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a></p>

Preprocessor directives can do a lot more for your C# projects — especially when you want to conditionally compile code for different environments, platforms, or configurations.

💬 Have you used preprocessor directives in a clever way? Drop your favourite use case below👇