dice.camp is one of the many independent Mastodon servers you can use to participate in the fediverse.
A Mastodon server for RPG folks to hang out and talk. Not owned by a billionaire.

Administered by:

Server stats:

1.5K
active users

#cleancode

0 posts0 participants0 posts today
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>
codesai<p>New post:</p><p>Heuristics to determine unit boundaries: object peer stereotypes, detecting effects and FIRS-ness<br><a href="https://codesai.com/posts/2025/07/heuristics-to-determine-unit-boundaries" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codesai.com/posts/2025/07/heur</span><span class="invisible">istics-to-determine-unit-boundaries</span></a></p><p>Subscribe to our newsletter: <a href="https://codesai.com/newsletter/" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">codesai.com/newsletter/</span><span class="invisible"></span></a></p><p><a href="https://mastodon.cloud/tags/legacy_code" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>legacy_code</span></a> <a href="https://mastodon.cloud/tags/SoftwareEngineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareEngineering</span></a> <a href="https://mastodon.cloud/tags/CodeQuality" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CodeQuality</span></a> <a href="https://mastodon.cloud/tags/Tech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Tech</span></a> <br><a href="https://mastodon.cloud/tags/tdd" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tdd</span></a> <a href="https://mastodon.cloud/tags/cleancode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cleancode</span></a></p>
Temma PHP Framework<p>Migrating to Temma v2? </p><p>Here’s what’s new:</p><p>🔹 Updated method naming<br>🔹 Native dependency injection<br>🔹 Cleaner SQL handling</p><p>A solid upgrade for your PHP projects.</p><p>🔗 Full documentation: <a href="https://www.temma.net/en/documentation/migration" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">temma.net/en/documentation/mig</span><span class="invisible">ration</span></a></p><p><a href="https://phpc.social/tags/PHP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHP</span></a> <a href="https://phpc.social/tags/Temma" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Temma</span></a> <a href="https://phpc.social/tags/WebDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WebDev</span></a> <a href="https://phpc.social/tags/BackendDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BackendDev</span></a> <a href="https://phpc.social/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a></p>
nickproud<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. </p><p>💬 Have you used preprocessor directives in a clever way? Drop your favourite use case below👇</p><p><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/programmingtips" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programmingtips</span></a> <a href="https://techhub.social/tags/developers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>developers</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/softwareskills" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>softwareskills</span></a></p>
PHP Zen<p>DDD for PHP, the silent revolution. </p><p>🔹 Entities &gt; Arrays<br>🔹 Domain services &gt; Spaghetti code<br>🔹 Shared language = fewer bugs</p><p>Could business-aligned code be your next power move?</p><p>🔗 Link: <a href="https://medium.com/@mohamadshahkhajeh/building-maintainable-domain-driven-php-applications-a-practical-guide-1c1e8b45f826" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">medium.com/@mohamadshahkhajeh/</span><span class="invisible">building-maintainable-domain-driven-php-applications-a-practical-guide-1c1e8b45f826</span></a></p><p><a href="https://phpc.social/tags/PHP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHP</span></a> <a href="https://phpc.social/tags/DDD" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DDD</span></a> <a href="https://phpc.social/tags/BackendDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BackendDev</span></a> <a href="https://phpc.social/tags/SoftwareDesign" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareDesign</span></a> <a href="https://phpc.social/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a></p>
Jakub Neruda<p>They say learning by example is the best way to learn. I'd like to share one such example of API design process based on a recent discussion with one of my colleagues: <a href="https://medium.com/@nerudaj/a-case-study-on-api-design-f22a8665cf2d" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">medium.com/@nerudaj/a-case-stu</span><span class="invisible">dy-on-api-design-f22a8665cf2d</span></a></p><p>If you follow my <a href="https://techhub.social/tags/TuesdayCodingTips" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TuesdayCodingTips</span></a>, this showcases a practical application of many of them.</p><p>And if you dislike clean code for whatever reason, this article is an example of how to overengineer your code in three simple steps I guess :D</p><p><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/SoftwareArchitecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareArchitecture</span></a> <a href="https://techhub.social/tags/SoftwareEngineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareEngineering</span></a></p>
codesai<p>New/nuevo post:</p><p>"Isolated" test means something very different to different people!<br><a href="https://codesai.com/posts/2025/06/isolated-test-something-different-to-different-people" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codesai.com/posts/2025/06/isol</span><span class="invisible">ated-test-something-different-to-different-people</span></a></p><p> <a href="https://mastodon.cloud/tags/legacy_code" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>legacy_code</span></a> <a href="https://mastodon.cloud/tags/SoftwareEngineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareEngineering</span></a> <a href="https://mastodon.cloud/tags/CodeQuality" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CodeQuality</span></a> <a href="https://mastodon.cloud/tags/Tech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Tech</span></a> <br><a href="https://mastodon.cloud/tags/tdd" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tdd</span></a> <a href="https://mastodon.cloud/tags/cleancode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cleancode</span></a> </p><p>Subscribe to our newsletter: <a href="https://codesai.com/newsletter/" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">codesai.com/newsletter/</span><span class="invisible"></span></a></p>
Temma PHP Framework<p>PHP devs want to work faster and cleaner?</p><p>🔹 Static analysis,<br>🔹 Visual debugging,<br>🔹 Stress-free deployment.</p><p>These tools are a must in 2025 !<br>🔗 Full Article: <a href="https://medium.com/@softradix2022/essential-tools-and-resources-every-php-developer-should-know-about-06363ea7cfd6" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">medium.com/@softradix2022/esse</span><span class="invisible">ntial-tools-and-resources-every-php-developer-should-know-about-06363ea7cfd6</span></a></p><p><a href="https://phpc.social/tags/PHP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHP</span></a> <a href="https://phpc.social/tags/WebDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WebDev</span></a> <a href="https://phpc.social/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a> <a href="https://phpc.social/tags/Productivity" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Productivity</span></a> <a href="https://phpc.social/tags/Temma" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Temma</span></a> <a href="https://phpc.social/tags/framework" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>framework</span></a></p>
PHP Zen<p>Constants or Enums in PHP? </p><p>🔹 Constants = silent bugs <br>🔹 Enums = strong typing, cleaner code </p><p>Your future self will thank you.<br>🔗Full article: <a href="https://medium.com/@sfmok/10-benefits-of-using-enums-instead-of-constants-in-php-7fc87465edf3" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">medium.com/@sfmok/10-benefits-</span><span class="invisible">of-using-enums-instead-of-constants-in-php-7fc87465edf3</span></a> </p><p><a href="https://phpc.social/tags/PHp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHp</span></a> <a href="https://phpc.social/tags/Enums" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Enums</span></a> <a href="https://phpc.social/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a> <a href="https://phpc.social/tags/WebDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WebDev</span></a> <a href="https://phpc.social/tags/PHPZen" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHPZen</span></a></p>
nickproud<p>Write LINQ like a pro:</p><p>🧠 Chain with intent<br>🔍 Use Where() early<br>🧼 Keep it readable — break long chains<br>🚫 Avoid side effects in selectors<br>🧪 Profile when querying large datasets</p><p>Clean LINQ = happy code.</p><p><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/dotnet" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dotnet</span></a> <a href="https://techhub.social/tags/LINQ" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LINQ</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/DevTips" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DevTips</span></a> <a href="https://techhub.social/tags/softwaredevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>softwaredevelopment</span></a></p>
Jakub Neruda<p>Tip 86 of <a href="https://techhub.social/tags/TuesdayCodingTips" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TuesdayCodingTips</span></a> - Extendable logger pattern</p><p>I like my logs structured. If nothing else, I can log into a CSV file, load that CSV into Excel, turn on filters, and boom, I have a quite nice log analyzer tool. To get the maximum out of it, I need to be able to split my logs into as many columns as possible.</p><p>When creating a library where the user can provide their own logger implementation, you need to be very careful about the logger interface to minimize breaking changes in new library versions. Ideally, you want to be able to add new properties to the log without affecting existing logger implementations.</p><p>A typical interface method with one parameter per property won't do - every addition breaks the interface. What I like to do is wrap all loggable information in a struct and pass that to the logger interface instead. This allows me to add new properties with less fuss and evolve my libraries faster!</p><p><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/tips" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tips</span></a> <a href="https://techhub.social/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a></p>
Caroline Middlebrook<p>Hmmm did a search for a combo of <a href="https://mastodon.gamedev.place/tags/gamedev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gamedev</span></a> and <a href="https://mastodon.gamedev.place/tags/cleancode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cleancode</span></a> on Bluesky and it only found 4 posts, one of which was mine! You'd think that with software as complex as a game, that good programming practices would be a top concern?! Thoughts?</p>
Caroline Middlebrook<p>In this <a href="https://mastodon.gamedev.place/tags/devlog" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>devlog</span></a> I implement a lives system, introduce a crash bug, then fix it &amp; create a web playable version of the game. Next I begin work on a pickups system to score points by collecting food and streamline the entire codebase by <a href="https://mastodon.gamedev.place/tags/refactoring" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>refactoring</span></a> to use the <a href="https://mastodon.gamedev.place/tags/Unity" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Unity</span></a> event system. <a href="https://youtu.be/hrbINTjkdbo" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">youtu.be/hrbINTjkdbo</span><span class="invisible"></span></a> <a href="https://mastodon.gamedev.place/tags/gamedev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gamedev</span></a> <a href="https://mastodon.gamedev.place/tags/buildinpublic" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>buildinpublic</span></a> <a href="https://mastodon.gamedev.place/tags/cleancode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cleancode</span></a></p>
Temma PHP Framework<p>PHP Interfaces = Cleaner &amp; More Flexible Code </p><p>🔹 Less coupling<br>🔹 Easier testing<br>🔹 Smooth upgrades</p><p>Ready to level up your architecture?<br>🔗 Full article : <a href="https://medium.com/@mohamadshahkhajeh/why-abstraction-isnt-just-for-architects-the-power-of-interfaces-in-php-794daae007fb" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">medium.com/@mohamadshahkhajeh/</span><span class="invisible">why-abstraction-isnt-just-for-architects-the-power-of-interfaces-in-php-794daae007fb</span></a></p><p><a href="https://phpc.social/tags/PHP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHP</span></a> <a href="https://phpc.social/tags/WebDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WebDev</span></a> <a href="https://phpc.social/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a> <a href="https://phpc.social/tags/SoftwareArchitecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareArchitecture</span></a> <a href="https://phpc.social/tags/SOLID" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SOLID</span></a> <a href="https://phpc.social/tags/PHPZen" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHPZen</span></a></p>
Trainfo.eu<p>Tack för feedbacken, alla. Nu finns en ny version på <a href="https://test.trainfo.eu" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">test.trainfo.eu</span><span class="invisible"></span></a> med "Länder"-meny</p><p>fortfarande en del som skall göras, men att jobba med filer och kunna göra sök-ersätt och se skillnader efter ändring underlättar mycket. </p><p>Jag använder även en linter (program som kollar att markdown-strukturen är korrekt) vilket förhoppningsvis gör risken mindre att det blir problem. <a href="https://mastodonsweden.se/tags/cleancode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cleancode</span></a> </p><p>Även användbarhets-problem uppmärksammas och skall fixas.</p>
Temma PHP Framework<p>PHP Traits = Flexible inheritance &amp; cleaner code </p><p>🔹 Reuse methods without base classes<br>🔹 Add just what you need, where you need it</p><p>Do you use traits in your projects?<br>🔗 Full Article : <a href="https://dev.to/manan_raj_6289f257cd05087/php-traits-the-secret-sauce-for-cleaner-reusable-code-17lf" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">dev.to/manan_raj_6289f257cd050</span><span class="invisible">87/php-traits-the-secret-sauce-for-cleaner-reusable-code-17lf</span></a></p><p><a href="https://phpc.social/tags/PHP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHP</span></a> <a href="https://phpc.social/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a> <a href="https://phpc.social/tags/WebDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WebDev</span></a> <a href="https://phpc.social/tags/Programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Programming</span></a> <a href="https://phpc.social/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a> <a href="https://phpc.social/tags/PHPZen" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHPZen</span></a></p>
Bill<p>I'm reading The Devil Never Sleeps (Kayyem). Juliette introduced me to the Normalization of Deviance, which describes how unacceptable practices gradually become acceptable over time and repetition. </p><p>She is talking disasters, but I see real lessons for software development. When I have to refactor, and leave the code 'good enough' I normalize the Deviance of quality that is expected because it is "better than it was before."</p><p>I need to write a blog post on this. It's a fascinating way to look at a well understood problem.</p><p><a href="https://infosec.exchange/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://infosec.exchange/tags/cleancode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cleancode</span></a></p>
Temma PHP Framework<p>Simplicity isn't naiveté, it's mastery.<br>The most advanced developers often adopt solutions that appear deceptively simple.</p><p>Why complicate what can be elegant, clear and efficient?</p><p>🔗 Full manifesto: www.phpwayoflife.com</p><p><a href="https://phpc.social/tags/php" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>php</span></a> <a href="https://phpc.social/tags/Dev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Dev</span></a> <a href="https://phpc.social/tags/CodeSimplicity" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CodeSimplicity</span></a> <a href="https://phpc.social/tags/CleanCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanCode</span></a> <a href="https://phpc.social/tags/TemmaFramework" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TemmaFramework</span></a></p>
Andrés<p>Ayer aprendí algo importante en <a href="https://lile.cl/tags/cleancode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cleancode</span></a>. Los tests deberían seguir las siguientes reglas:</p><p>F.I.R.S.T.</p><p>F: Fast (Que corran rápido)<br>I: Independent (Que sean independientes)<br>R: Repeatable (Deben correr en cualquier entorno)<br>S: Self-Validating (Salida Booleana, pasa o falla, nada más)<br>T: Timely (Escribirlos antes que el código de produccion)</p><p>Si ya programas hace un rato probablemente te habías dado cuenta de esto ;)</p><p><a href="https://lile.cl/tags/code" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>code</span></a> <a href="https://lile.cl/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://lile.cl/tags/programacion" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programacion</span></a></p>