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.
Spannender Artikel von #Heise zu Refactoring.
„#Refactoring (Substantiv): Eine Änderung an der internen Struktur einer #Software, um sie verständlicher zu machen und kostengünstiger ändern zu können, ohne ihr sichtbares Verhalten zu ändern“ (Martin #Fowler; Refactoring: Improving the Design of Existing Code; Addison Wesley 2019).
Martin #Golding: „Schreibe deinen #Code so, als wäre der Typ, der ihn verstehen muss, ein Psychopath mit einer Axt, der weiß, wo du wohnst.“
"Wirklich fertig werden Entwickler übrigens nie. Jedes Refactoring hat möglicherweise ein Gegen-Refactoring. Denn es gibt keine wirklichen Sackgassen und es lässt sich ewig weitermachen. Von daher ist es sehr sinnvoll, Grenzen zu setzen. Entwickler könnten aufhören, wenn der zu analysierende Code verstanden, ein gesetztes Zeitlimit erreicht ist oder der Chef beziehungsweise der Kunde mit einem anderen Auftrag um die Ecke kommt."
What are control flags and why haven't you ditched them yet?
Read more here:
https://www.devleader.ca/2023/11/19/remove-control-flag-refactoring-how-to-simplify-logic/
Habr » 🤖 🌐
@habr@zhub.link
[Перевод] Гексагональная архитектура в Rust: отвязываем бизнес-логику от Solana
Представьте: вы строите сервис выдачи дипломов на Solana. Всё отлично, пока дело не доходит до тестов. Внезапно оказывается, что для проверки бизнес-логики нужно поднимать валидатор, искать тестовые токены и молиться на стабильность сети. Знакомая боль? В этой статье я покажу, как мы решили проблему, используя async-trait и dyn Trait. Мы превратили интеграционные тесты длиной в минуты в юнит-тесты, которые проходят за миллисекунды. Узнать решение
https://habr.com/ru/articles/983874/
#rust #solana #гексагональная_архитектура #блокчейн #unittesting #dependency_injection #axum #web3 #mocking #refactoring
Habr » 🤖 🌐
@habr@zhub.link
Январский рефакторинг: 7 дней, чтобы почистить Python веб‑проект
Январь - самое удобное время разобрать завалы в проекте. Пол‑команды ещё в отпусках, pull‑реквестов меньше, product owner'ы только вспоминают, что планировали делать в этом году - можно спокойно пройтись по коду и навести порядок. В этой статье пойдёт речь о нескольких косметических действиях, которые, с одной стороны, почти не затрагивают логику программы и не вызывают ненависти у тестировщиков, а с другой - делают код чуть приятнее и дают темы для обсуждения на бэкенд‑созвонах. Мы разложим импорты, перенесём логику из роутов в контроллеры, а из контроллеров - в репозитории и сервисы, избавимся от requirements.txt в пользу нормального менеджера зависимостей и включим mypy.
https://habr.com/ru/articles/983172/
#python #backend #refactoring #architecture #linter #mypy #litestar
"Extract Method" is one mof the most foundational refactoring techniques for us to use.
Read more here:
https://www.devleader.ca/2024/03/06/extract-method-refactoring-technique-in-c-what-you-need-to-know/
Arbor: Graph-native codebase indexing via MCP for structural LLM refactors
Arbor là một lớp trí tuệ mã nguồn mở xử lý code như "Logic Forest". Sử dụng động cơ AST Rust để xây dựng đồ thị cấu trúc repo, cung cấp ngữ cảnh xác định cho LLMs như Claude và ChatGPT qua Model Context Protocol (MCP). Arbor bridge cho phép AI agents thực hiện refactors phức tạp với nhận thức đầy đủ về phân cấp và phụ thuộc dự án.
#Arbor #LLM #AI #Codebase #MCP #Rust #TreeSitter #Refactoring #AIEngineering
#Arbor #MãNgu
Khi AI hỗ trợ refactoring đổi tên hàm, nó tạo ra bất đồng trong mã nguồn: "calculateTotal" và "compute_total" cùng tồn tại trong các file khác nhau. Lý do:
- AI chỉ nhìn từng file riêng lẻ
- Ngữ cảnh hạn chế + quy tắc đặt tên không thống nhất
- Kiểm thử đơn vị không bắt được lỗi
Hậu quả: Lỗi runtime trong tích hợp CI. Giải pháp: Kiểm tra tổng thể, grep repo và CI phát hiện xung đột tên.
#LậpTrình #Refactoring #AITrongLậpTrình #PhầnMềm #MẹoLậpTrình
#Coding #AIProgramming #SoftwareEngineering
Học được gì khi refactor code cấp độ người mới bắt đầu: "nó chạy được" không đồng nghĩa với "dễ bảo trì". Tác giả chia sẻ kinh nghiệm refactor code cũ, nhận ra các vấn đề như logic phức tạp, hàm đa nhiệm, đặt tên biến kém. Refactor giúp code sạch hơn, dễ hiểu và dễ bảo trì hơn. Đúng là quan trọng, nhưng rõ ràng và khả năng bảo trì mới là kỹ năng lập trình thực sự.
#Refactoring #CodeQuality #SoftwareDevelopment #LậpTrình #CảiThiệnCode
https://www.reddit.com/r/programming/comments/1q5nwxw/what_i
🚨OMG, hold the presses!🚨 Apparently, putting #refactoring on the backlog is the #tech equivalent of wearing socks with sandals. 👢 Even though our codebase is an overgrown jungle of #spaghetti, we should just pretend everything’s peachy and that our "clean" #code will magically refactor itself. 🧙♂️✨
https://ronjeffries.com/xprog/articles/refactoring-not-on-the-backlog/ #code #humor #software #development #coding #culture #HackerNews #ngated
Refactoring – Not on the Backlog (2014)
https://ronjeffries.com/xprog/articles/refactoring-not-on-the-backlog/
#HackerNews #Refactoring #Backlog #SoftwareDevelopment #CodeQuality #AgileMethods
Refactoring code is a critical software engineering skill -- Can you do it?
Read more here:
https://www.devleader.ca/2024/02/29/refactoring-c-code-4-essential-techniques-simplified/
Leanpub book LAUNCH 🚀 The Other Half of Coding: What they Didn't Teach You by Max Guernsey, III
Watch here: https://youtu.be/lDwuiSwaCf4
#books #leanpublishing #selfpublishing #booklaunch #management #coding #programming #OOP #TDD #softwareengineering #refactoring
Tin tức: AI giúp tái cấu trúc mã nguồn hiệu quả! 🤖 LLM phát hiện "code smells" (như hàm dài, lớp cồng kềnh) và gợi ý cải tiến như "Extract Method" với độ chính xác ~80%. Tuy nhiên, quyết định kiến trúc lớn vẫn cần con người đánh giá. ⚠️ Lưu ý: KIỂM THỬ TỰ ĐỘNG là yếu tố sống còn để đảm bảo an toàn khi tái cấu trúc. #TáiCấuTrúc #Refactoring #AI #SoftwareEngineering #Coding #CôngNghệPhầnMềm
Khi AI refactor đổi tên sai trên nhiều file:
- Tạo các biến không nhất quán (userProfile → user_profile/profileUser) dù patch trông "hợp lý"
- Gây lỗi runtime (500 Server Error), CI không phát hiện
- Nguyên nhân: AI không hiểu ngữ nghĩa mã, chỉ đoán văn bản & thiếu quản lý symbol tập trung
- Bài học: Ưu tiên công cụ refactor dựa AST/IDE, test tích hợp đầy đủ, xử lý AI-output như bản nháp
#AI #Refactoring #ProgrammingFail #SoftwareDevelopment #Coding #Vietnam #AIVietNam #LậpTrình #TáiCấuTrú
Bài viết chia sẻ kinh nghiệm tái cấu trúc kiến trúc Android: Giảm boilerplate code, tách module cơ bản & tính năng riêng biệt. Lợi ích: Chuẩn hóa code, dễ bảo trì, onboarding nhanh. Khó khăn: Xử lý dependency, tài nguyên phân tán & vấn đề Gradle. Nhấn mạnh việc duy trì tài liệu và cải tiến liên tục! #AndroidDev #MobileDevelopment #Refactoring #LapTrinhAndroid #PhatTrienUngDung #ToiUuCode
https://dev.to/dss99911/simple-android-architecture-refactoring-to-new-architecture-3gpb
"Hãy ngừng tối ưu code không bao giờ thay đổi! 😓 Ưu tiên refactoring "điểm nóng" - mã xấu NHƯNG thường xuyên chỉnh sửa, không phải code ổn định. Ví dụ: Đừng tốn tuần chỉnh module LegacyAuthenticator (0 thay đổi sau 3 năm), hãy sửa PaymentProcessor (47 lần/tháng) đang cực phức tạp!
Dùng git log để xác định hotspot, tập trung nơi chất lượng thấp + tần suất sửa cao. Mã ổn định dù xấu, hãy để ngủ yên.
#refactoring #taicautruc #cleancode #masach #python #webdev #phattrienweb #codingsmell #muicode
#Refactoring #CleanCode #SoftwareDesign #TáiCấuTrúc #CodeSạch
Giới thiệu "Parameter Object" - giải pháp tái cấu trúc giảm phức tạp tham số! 💡
Thay vì khai báo hàng loạt tham số rời rạc:
`createInvoice($customerId, $currency, $netAmount...)`
👉 Gộp thành đối tượng có ngữ cảnh như `TaxContext` hay `PricingContext`.
Lợi ích:
• Giảm lỗi thứ tự tham số
• Đóng gói logic liên quan
• Dễ mở rộng khi yêu cầu thay đổi
• Code dễ đọc & bảo trì hơn
Mẹo: Bắt đầu từ phương thức nhỏ, thêm
Leanpub book LAUNCH 🚀 The Other Half of Coding: What they Didn't Teach You by Max Guernsey, III
Watch here: https://youtu.be/lDwuiSwaCf4
#books #leanpublishing #selfpublishing #booklaunch #management #coding #programming #OOP #TDD #softwareengineering #refactoring
Habr » 🤖 🌐
@habr@zhub.link
MDUI: как отдать UI backend-разработчикам
Как сократить Time-to-Market в 7 раз и научить бэкенд-разработчиков собирать страницы за 15 минут? В этой статье я делюсь опытом внедрения Meta-Driven UI в ERP-системе. Расскажу, как я «душила» легаси с помощью Strangler Fig Pattern, внедрила FSD-архитектуру на Vue 3 и почему Render-функции оказались эффективнее обычных шаблонов.
https://habr.com/ru/articles/980684/
#vuejs #frontendразработка #MDUI #fsd #erpсистемы #refactoring
Bài viết hướng dẫn refactoring class OrderManager违反 Single Responsibility Principle (SRP) bằng Clprolf. Ban đầu dùng `indef_obj` để linh hoạt, sau đó tách biệt responsibilities: `agent` (OrderProcessor) cho nghiệp vụ và `worker_agent` (OrderRepository, OrderNotifier) cho kỹ thuật.
#Clprolf #Refactoring #SRP #Vietnam #IT #Coding #ClprolfVietnam
https://dev.to/charles_koffler_bcabc582b/refactoring-your-classes-with-clprolf-and-indefobj-3j8k
Hệ thống PHP "monolith" của chúng tôi vẫn hoạt động tốt — vậy tại sao lại thay đổi? Không có khủng hoảng, nhưng sự phụ thuộc chặt chẽ gây cản trở phát triển. Thay vì rewrite, chúng tôi chuyển đổi từ từ: giữ nguyên lõi hoạt động, tách dần giao diện, tăng tính linh hoạt. Thay đổi sớm khi hệ thống còn khỏe giúp tránh rủi ro sau này. #SoftwareArchitecture #Monolith #PHP #DevVietnamese #KiếnTrúcPhầnMềm #LậpTrình #PHP #Refactoring #TechDebt
https://dev.to/rizts/our-php-monolith-was-working-fine-so-wh
Our lovely countryside venue: https://www.miltonoxfordshire.co.uk
Tickets are first-come, first-served, so book yours before we sell out!
We organise this conference in the open, and you're very welcome to chat with the organisers to help, ask questions, give feedback, or simply to watch. You can reach us on the #ev_socratesuk slack channel (https://slack.softwarecrafters.org/), on mastodon, LinkedIn, BlueSky, or by commenting on this post.
Our lovely countryside venue: https://www.miltonoxfordshire.co.uk
Tickets are first-come, first-served, so book yours before we sell out!
We organise this conference in the open, and you're very welcome to chat with the organisers to help, ask questions, give feedback, or simply to watch. You can reach us on the #ev_socratesuk slack channel (https://slack.softwarecrafters.org/), on mastodon, LinkedIn, BlueSky, or by commenting on this post.
Leanpub Book LAUNCH 🚀 The Other Half of Coding: What they Didn't Teach You by Max Guernsey, III
Read & watch on the Leanpub Blog here:
#books #leanpublishing #selfpublishing #booklaunch #management #coding #programming #OOP #TDD #softwareengineering #refactoring
Leanpub book LAUNCH 🚀 The Other Half of Coding: What they Didn't Teach You by Max Guernsey, III
Watch here: https://youtu.be/lDwuiSwaCf4
#books #leanpublishing #selfpublishing #booklaunch #management #coding #programming #OOP #TDD #softwareengineering #refactoring
That’s your clue: refactor first.
(Special case of the general KFB wisdom “First make the change easy, then make the easy change.”)
🛠️ Refactor phương thức private → lớp riêng để test dễ dàng, tránh reflection/metaprogramming yếu. Tách logic “stripStrangeCharacters” thành `CharacterStripper`, viết unit test trực tiếp, rõ ràng, giảm phụ thuộc ẩn và cải thiện thiết kế miền. Áp dụng khi logic phức tạp, không cho các getter/setter đơn giản.
#testing #refactoring #oop #programming #unittest #code #kiểm_thử #refactor #lập_trình #phát_triển #php
https://dev.to/mcsee/refactoring-037-testing-private-methods-5d68
Habr » 🤖 🌐
@habr@zhub.link
Технический долг в голове: Почему сеньоры выгорают на задачах для джунов, а пет-проекты умирают в бэклоге
В прошлой статье я рассказывал, как настроил личный iptables и перешел в режим Default Deny , чтобы отбиться от внешних DDoS-атак (коллег, пустых встреч и спама). Периметр я защитил, входящий трафик почистил. Uptime вырос. Казалось бы — живи и радуйся. Но я заметил странную вещь: снаружи тихо, а сервер все равно греется. Я заглянул внутрь контейнера и понял: проблема не во входящих пакетах. Проблема в архитектуре самого приложения . Парадокс: я могу спроектировать архитектуру, которая выдержит падение дата-центра. Я могу дебажить race condition в многопоточном приложении. Но когда мне нужно позвонить в страховую или выбрать отель для отпуска, я впадаю в ступор. Мой личный бэклог забит задачами типа «разобраться с налогами» и «начать бегать», которые висят там с 2019 года. Я переношу их из спринта в спринт, испытывая фоновое чувство вины. В какой-то момент я понял: это не лень. И это не «отсутствие мотивации». Это классический Technical Debt (Технический долг) , только не в репозитории, а в нейросети. И проценты по этому долгу я плачу самым дорогим ресурсом — своей когнитивной емкостью.
https://habr.com/ru/articles/973796/
#Технический_долг #Refactoring #Legacy_code #Прокрастинация #Саморазвитие #Таймменеджмент #Mental_Health #выгорание #личная_эффективность #психология_программирования
J'ai apprécié cet article de @jbrains. Quand on simplifie du code, paradoxalement il y a un risque de le rendre moins familier (ce n'est plus comme avant, ce n'est plus comme on a toujours fait). Ça peut être une raison d'accepter de ne pas simplifier. Mais si on ne prend jamais ce risque, on passe à côté d'opportunités de simplifications. Compromis... Je trouve intéressant d'avoir ça en tête collectivement.
=> https://blog.jbrains.ca/permalink/a-central-conflict-in-readable-code
Upgrade MSVC, improve C++ build performance, and refactor C++ code with GitHub Copilot is.gd/V43kmW #visualstudio #cpp #githubcopilot #refactoring #softwaredev #copilot #ai #msvc
Một chia sẻ thú vị về quá trình tái cấu trúc lõi phân tích dữ liệu của DocBeacon. Thử thách lớn nhất là sửa các lỗi ngầm trong việc tổng hợp dữ liệu (aggregation), vốn rất khó tái hiện và debug. Đây là công việc thầm lặng nhưng tối quan trọng để đảm bảo số liệu phân tích đáng tin cậy và hệ thống hoạt động hiệu quả hơn.
#Refactoring #TaiCauTruc #Analytics #PhanTichDuLieu #SoftwareDevelopment #PhatTrienPhanMem #Engineering #LapTrinh #Debugging