schmonz.com is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.
This server runs the snac software and there is no automatic sign-up process.
“We should refactor the whole thing…”
I've heard this line more times than I can count — and honestly, most of those refactors failed.
Not because refactoring is a bad idea. But because they were done wrong.
Here are the top reasons I’ve seen (and experienced):
“We just want it cleaner” is not a plan.
If you don’t have a safety net, every change is a risk.
Trying to change everything at once = chaos.
If everyone has a different definition of “clean,” good luck.
If you want your refactor to succeed, start with these:
What will the architecture look like after refactoring?
Small, focused changes are easier to test, review, and roll back.
Ensure you’re not breaking things while cleaning things up.
Agree on patterns, formatting, naming — everything.
The best refactors I’ve seen had these 3 things:
Refactoring without those? You’re just rewriting code and hoping for the best.
Have you ever done a big refactor?
Let’s share some refactor war stories in the comments. 👇#refactoring #cleancode #softwaredesign #programming #software #coding #development #engineering #inclusive #community
🔧 Why Most Refactors Fail — And How to Fix Them
Tái cấu trúc mã lộn xộn: Tăng tính liên kết, giảm tính phụ thuộc. Phân tách rõ ràng các class, sử dụng interface và injection để code dễ bảo trì, dễ test. #refactoring #cleanCode #vietnam
#tái_cấu_trúc_mã #mã_sạch
https://dev.to/abhinawkr/refactoring-messy-code-high-cohesion-and-low-coupling-3p7e
TIL Gilded Rose Kata for refactoring:
https://github.com/emilybache/GildedRose-Refactoring-Kata/blob/main/GildedRoseRequirements.md
💡 This is the story of how #Stripe built a #Ruby type checker to make developers happier, and how they're building a Ruby package system to introduce modularity.
This #InfoQ video shares high-level strategies for any team that wants to run a migration in a large, stubborn codebase.
🎥 Watch now: https://bit.ly/45en6uJ
📄 #transcript included
#LegacyCode #Refactoring #SourceCode #SoftwareDevelopment #CaseStudy
Replace vague error messages with specific, actionable feedback that helps users solve problems. https://hackernoon.com/refactoring-031-removing-oops #refactoring
RUG — малоизвестный, но фундаментальный принцип Clean Code
Многие разработчики при обсуждении основ Clean Code называют одни и те же принципы — чаще всего упоминаются DRY , KISS и YAGNI . Эти концепции прочно закрепились в профессиональном сообществе и воспринимаются как обязательная часть хорошего кода. Принцип RUG упоминается значительно реже. Чаще всего о нём узнают с опытом, а многие применяют его интуитивно, даже не подозревая, что для этого подхода существует отдельное название и формулировка. Сегодня я хочу поговорить о принципе RUG и о том, какие рекомендации он даёт по написанию программного обеспечения. RUG ( Repeat Until Good ) — это принцип, который говорит: можно повторять один и тот же код, пока это разумно. На ранних этапах разработки важнее просто реализовать логику, исходя из текущих требований, чем пытаться сразу создать «идеальную» абстракцию. В этот момент задача — как можно быстрее получить рабочее решение, которое отражает текущие знания о системе. Но со временем, когда одна и та же логика начинает встречаться всё чаще, становится очевидно, что её удобнее и правильнее выделить в отдельную, чётко оформленную абстракцию, чтобы избежать дублирования и упростить дальнейшую поддержку. Мы используем этот принцип каждый раз, когда пишем код. Ведь практически любую логику можно сделать более абстрактной и масштабируемой — вопрос лишь в том, когда наступает подходящий момент для этого. Я буду использовать TypeScript , так как этот язык знаком большинству разработчиков. 😁
https://habr.com/ru/articles/934986/
#rug #cleancode #programming #software_design #patterns #refactoring #typescript
DRY Don't Repeat Yourself Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.
— Dave Thomas, Andy Hunt
“This #refactoring was done by an LLM, and then reviewed by a human. [..] The break became a continue, turning errors into infinite loops. [..] small enough change in a larger code movement that we didn’t notice it during code review.”
Queue the LLM-apologists and something about “thou shalt have test cases” in 3..2..
(Though I feel I should put that tag into scare-quotes)
From: @nixCraft
https://mastodon.social/@nixCraft/114958561596061775
Bài viết về Refactoring ASP.NET: Ánh xạ kết quả miền vào phản hồi HTTP. Tác giả đề xuất cách làm sạch mã điểm cuối API, dễ bảo trì hơn bằng cách dùng Result pattern và filter. #ASPNet #refactoring #API #Vietnamese
https://dev.to/alexdevfx/aspnet-refactoring-map-domain-results-into-http-responses-3j7i
🧪 "Have a GTK app with no tests? No problem!"
with Federico Mena Quintero at #GUADEC2025
📅 25 July 🕒 14:20 CEST 📍 Brescia
🛠️ Federico shows how to refactor messy GTK codebases so you can finally test them—without rewriting from scratch.
Cải thiện code .NET của bạn với Code Metrics và Refactoring Controller! Bài viết hướng dẫn cách sử dụng các chỉ số để xác định và sửa code "spaghetti", giúp code dễ bảo trì, dễ đọc và dễ kiểm thử hơn. #dotnet #codemetrics #refactoring #vietnam
Static Analysis and Automated Refactoring https://leanpub.com/b/static-analysis-and-automated-refactoring by Matthias Noback matthiasnoback@mastodon.social and Tomas Votruba is the featured bundle of ebooks 📚 on the Leanpub homepage! https://leanpub.com #Refactoring #Php #Laravel #Symfony #Zend #SoftwareEngineering #AutomatedSoftwareTesting
The ranged W command was great to perform a Move Method #refactoring to another class.
W appends a selected block from the current file to another file. Then you can edit the other file and move the appended block to its correct position with the m command. A few substitutions later, and the Move Method was done without leaving ed.
Leanpub book LAUNCH 🚀 Build a Database Server: Learn how real databases work by following this practical guide to building your own by Chris Zetter
Watch here:
#books #ebooks #booklaunch #databases #programming #refactoring #softwaretesting #computerscience
Do you ever skip trying to use automated refactoring because it's too annoying in Xcode? https://qualitycoding.org/xcode-key-bindings-refactoring/ #refactoring
Example of scope, I currently want to invert the condition on the name here:
*34,40n
34 } else {
35 if (item.quality > 0) {
36 if (!item.name.equals("Sulfuras, Hand of Ragnaros")) {
37 item.quality = item.quality - 1;
38 }
39 }
40 }
This is fine if I do one thing at a time.
Also: ed edits could be a great format for #refactoring toots 🤔
It's going well so far:
*!git log --oneline | cut -d' ' -f2- | tac
Starting point
Simplify for loop
Invert the first if
Split first if
Invert if on sulfuras
Permute ifs for sulfuras
Join first 'if else's
I think I can now say it's totally doable and even worth repeating this kata a few times.
Totally random thought: would I be able to do the Gilded Rose kata using only the ed text editor in a reasonable time?
Goals:
1) have fun,
2) look like a fool,
3) learn enough ed to later be able to script complex text changes across files,
4) also level up in sed and vim
Reason: ed(1) is the standard Unix text editor.
Stop right-clicking to refactor in Xcode https://qualitycoding.org/xcode-key-bindings-refactoring/ #refactoring
Refuctoring the process of taking a well-designed piece of code and, through a series of small, reversible changes, making it completely unmaintainable by anyone except yourself.
— Jason Gorman
From the Leanpub Blog: Welcome to the Leanpub Launch video for Build a Database Server: Learn how real databases work by following this practical guide to building your own by Chris Zetter!
https://leanpub.com/blog/leanpub-book-launch-build-a-database-server-by-chris-zetter
#books #ebooks #booklaunch #databases #programming #refactoring #softwaretesting #computerscience
Leanpub book LAUNCH 🚀 Build a Database Server: Learn how real databases work by following this practical guide to building your own by Chris Zetter
Watch here:
#books #ebooks #booklaunch #databases #programming #refactoring #softwaretesting #computerscience
TDD: разработка быстрее и качественнее
Все мы стремимся создавать более качественное программное обеспечение и делать это быстрее. Я считаю, что разработка через тестирование предлагает нам путь к этой цели. Все еще боитесь использовать этот подход? Тогда я приглашаю вас обсудить советы и приемы помогающие раскрыть преимущества TDD!
https://habr.com/ru/articles/925446/
#tdd #test_driven_development #software_development #testing #agile #unit_testing #code_quality #refactoring #test_first
Good morning everyone! Here is the latest updates on my channel #jesprotech #java #kotlin #projects #refactoring #repurposing #focus #afterbo: http://youtube.com/post/UgkxqM4qfsa5FajdzWmamGkf_9YYCBa4RNVV?si=mphHYTGfk1a26-EX
Meeting with my project manager to explain why I've spent the week doing refactors instead of implementing feature requests.
https://www.youtube.com/clip/UgkxOIdnojWnlRGKrrPtVUXs2sKyyQ7bag3B
Stop asking 'what tool should we use?' Start asking 'what specific outcome are we trying to achieve?' In this talk, Dave Mosher breaks down the difference between chasing shiny objects and solving real problems. https://link.testdouble.com/786585 #LegacyRescue #TechDebt #LegacyModernization #Refactoring
Преодоление сложности в самом сердце Анемичной Модели
Доброго времени суток, Хабр! Сегодня хотел бы поговорить об анемичной модели — одном из самых дискуссионных топиков (особенно для приверженцев DDD) и о том, как, по моему мнению, правильно её готовить. Для кого-то анемичная модель — это антипаттерн, тогда как для других это единственный правильный способ реализации приложений. Многие использовали её годами и даже не знали, как она называется, и что кем-то она считается антипаттерном. Реальность же такова, что анемичная модель — это инструмент, который может подходить или не подходить в зависимости от ситуации, но при этом является очень популярным и, по факту, «стандартом де-факто» для многих программистов и организаций. Хотя в последние годы я и вижу тенденцию к тому, что DDD и, соответственно, богатая доменная модель становятся всё популярнее, пока что, по моему мнению, им далеко до популярности анемичной модели.
https://habr.com/ru/articles/917012/
#ddd #software_design #anemic_model #refactoring #architecture #java #oop #web_development #domain_driven_design #functional_programming
How can you use code coverage and mutation testing to add tests to legacy code? At @mendercon last year, I demonstrated this powerful technique step by step on the Gilded Rose kata, which is hosted by @emilybache on her GitHub account: https://github.com/emilybache/GildedRose-Refactoring-Kata
You can watch the talk here: https://www.youtube.com/watch?v=0qna5cuzDI0
#CSudberyRecordings #CodeCoverage #MutationTesting #GildedRose #Refactoring #UnitTests