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.

Search results for tag #refactoring

[?]Nat Pryce » 🌐
@natpryce@mastodon.social

"The Switcheroo" - a combo that transforms an API *and its call sites* across the codebase.

A picture of a swiss army knife opened so that all of its blades and tools are visible.

A description of the "Switcheroo" refactoring combo:

1. Extract the entire body of the function into a new function.
2. Refactor the extracted function to have the API you want and the body of the old function to be how you want it to be invoked across the codebase.
3. Inline the old function:
everywhere is now using the new API.

Alt...A picture of a swiss army knife opened so that all of its blades and tools are visible. A description of the "Switcheroo" refactoring combo: 1. Extract the entire body of the function into a new function. 2. Refactor the extracted function to have the API you want and the body of the old function to be how you want it to be invoked across the codebase. 3. Inline the old function: everywhere is now using the new API.

    [?]Nat Pryce » 🌐
    @natpryce@mastodon.social

    Four scales of , defined by how difficult it is to disseminate the change beyond an individual developer's workspace, and therefore whether you need to align on a refactoring *strategy*.

    Single commit:
- Affects a single codebase and built artefact.
- Applied by one atomic commit.

Multiple commits:
- Creates wide-spread change in a single codebase and built artefact.
- Use Expand/Contract to minimise disruption to other team members.

Multiple deployments:
- Cannot change all affected code in a single commit without breaking the system.
- Requires multiple deployments with Expand/Contract to avoid downtime.
- Delivery rate affects internal quality

Multiple releases:
- Requires Expand/Contract across multiple organisations to avoid breaking clients
- Must meet contractual obligations with respect to API stability and evolution

    Alt...Single commit: - Affects a single codebase and built artefact. - Applied by one atomic commit. Multiple commits: - Creates wide-spread change in a single codebase and built artefact. - Use Expand/Contract to minimise disruption to other team members. Multiple deployments: - Cannot change all affected code in a single commit without breaking the system. - Requires multiple deployments with Expand/Contract to avoid downtime. - Delivery rate affects internal quality Multiple releases: - Requires Expand/Contract across multiple organisations to avoid breaking clients - Must meet contractual obligations with respect to API stability and evolution

      [?]Nat Pryce » 🌐
      @natpryce@mastodon.social

      Expand/Contract: a strategy to avoid disrupting work in progress by other team members, or to avoid breaking clients during zero-downtime deployments.

      Expand/Contract illustrated by an old black-and-white photograph of accordion players.

The Expand/Contract refactoring strategy is:

1. Add new features
2. Migrate code to use the new features
3. Remove old features when is safe to do so

      Alt...Expand/Contract illustrated by an old black-and-white photograph of accordion players. The Expand/Contract refactoring strategy is: 1. Add new features 2. Migrate code to use the new features 3. Remove old features when is safe to do so

        Jason Gorman boosted

        [?]Nat Pryce » 🌐
        @natpryce@mastodon.social

        To refactor a system from an object-oriented design to a functional design, we adopt a strategy of moving actions to the edge of the system, leaving the application domain model as immutable data and pure calculations.

        We are using the terminology of "data", "calculations", and "actions" from the book "Grokking Simplicity" by Eric Normand.

        In our workshop we work through different refactoring techniques to move actions to the edge of the system.

        Nested hexagons representing the hexagonal architecture, with an arrow labelled "actions" pointing from the center to the edge.  The core hexagon representing the application domain model is labeled "Calculations & Data".

        Alt...Nested hexagons representing the hexagonal architecture, with an arrow labelled "actions" pointing from the center to the edge. The core hexagon representing the application domain model is labeled "Calculations & Data".

          Ted M. Young boosted

          [?]Nat Pryce » 🌐
          @natpryce@mastodon.social

          Duncan and I will be at UK on June 18th and will use some of these practices to take control of LLM-generated code. LLMs default to generating code that is monolithic, procedural, and makes wide use of mutable state. is a good way to give the LLM patterns to follow. Separating actions from data & calculations, composing calculations, and proving consistency by type checking, are all good strategies to keep generated code comprehensible by humans.

          socratesuk.org/training_day.ht

            #refactoring boosted

            [?]sayzard » 🌐
            @sayzard@mastodon.sayzard.org

            Unhealthy code makes AI agents consume 35-50% more tokens

            CodeScene 연구에 따르면, 건강하지 않은 코드베이스에서 AI 에이전트가 동일 작업을 수행할 때 최대 50% 더 많은 토큰을 소비한다. C++, Java, Python 세 언어 모두에서 코드 건강도가 낮을수록 토큰 사용량과 오류 발생률이 증가하며, 이는 비용 상승으로 직결된다. CodeScene은 코드 건강도를 개선하고 AI 에이전트의 토큰 낭비를 줄이는 MCP 서버 도구를 제공해, AI 기반 개발 비용 절감과 품질 향상을 동시에 도모할 수 있음을 보여준다.

            codescene.com/blog/unhealthy-c

              #refactoring boosted

              [?]Meteora Web » 🌐
              @meteoraweb@mastodon.social

              🚨 NEWS: Perché usare TypeScript nel 2025: vantaggi reali rispetto a JavaScript puro

              Ecco i punti chiave in breve:
              💡 JavaScript ti fa perdere tempo (e soldi)? Non sei soloLavori su un progetto JavaScript che cresce. Ogni volta che aggiungi una funzione, ti chiedi: "sto chiamando questa proprietà giusta? Il parametro...

              🚀 LINK: meteoraweb.com/analisi-dei-dat

                #refactoring boosted

                [?]Leanpub » 🌐
                @leanpub@mastodon.social

                A Short Guide to Naming by Tim Ottinger is free with a Leanpub Reader membership! Or you can buy it for $6.50! leanpub.com/naming_shortguide

                  #refactoring boosted

                  [?]Frontend Dogma » 🤖 🌐
                  @frontenddogma@mas.to

                  #refactoring boosted

                  [?]Leanpub » 🌐
                  @leanpub@mastodon.social

                  A Short Guide to Naming by Tim Ottinger is free with a Leanpub Reader membership! Or you can buy it for $6.50! leanpub.com/naming_shortguide

                    #refactoring boosted

                    [?]sayzard » 🌐
                    @sayzard@mastodon.sayzard.org

                    James T (@JamesTervit)

                    Chronara AI의 one-shot restructure를 사용해 gists를 바탕으로 1980년대 스타일의 폴리곤 게임을 HTML5로 재현했다는 사례. SuperGrok 결과와 함께 98% 수준의 복원도를 언급하며, 코드 리팩터링/재구성용 AI 활용 가능성을 보여줍니다.

                    x.com/JamesTervit/status/20558

                      #refactoring boosted

                      [?]sayzard » 🌐
                      @sayzard@mastodon.sayzard.org

                      Refactoring as Algebra: Small Steps to Clarity

                      이 글은 복잡하고 이해하기 어려운 코드 조각을 단계별로 리팩토링하여 명확하고 의도를 잘 드러내는 코드로 바꾸는 과정을 설명합니다. 핵심은 계산과 상태 변이를 분리하고, 복잡한 조건문을 단순화하며, 중복 코드를 일시적으로 허용해 최종적으로 더 간결하고 명확한 코드로 만드는 것입니다. 특히, 분배와 융합(Distribute for Fusion) 기법을 통해 중복을 제거하고, 변수 추출과 조건문 단순화로 코드의 의도를 명확히 표현하는 방법을 다룹니다. 이 과정은 소프트웨어 엔지니어가 유지보수성과 가독성을 높이기 위해 리팩토링할 때 유용한 실전 기법을 제공합니다.

                      ignition.github.io/posts/refac

                        #refactoring boosted

                        [?]Frontend Dogma » 🤖 🌐
                        @frontenddogma@mas.to

                        #refactoring boosted

                        [?]sayzard » 🌐
                        @sayzard@mastodon.sayzard.org

                        GenAI with Rahul (@genaiwithrahul)

                        /goal 플래그가 긴 호흡의 코딩 작업에서 게임 체인저로 소개됐다. 매 단계마다 감시하지 않고 목표만 정의하면, 작업이 끝날 때까지 반복 실행할 수 있으며 /plan 모드와 함께 복잡한 리팩터링에 쓰기 좋다고 설명한다. 백그라운드에서 오래 일하는 주니어 개발자 같은 활용 사례다.

                        x.com/genaiwithrahul/status/20

                          #refactoring boosted

                          [?]Leanpub » 🌐
                          @leanpub@mastodon.social

                          A Short Guide to Naming: Understand how and why to better name modules, classes, functions, and variables. by Tim Ottinger is the featured book 📖 on Leanpub!

                          if you've read my chapter on naming in a famous software book (first or second edition) you may want to go a little deeper. Same author, same topic, all-new content!

                          Link: leanpub.com/naming_shortguide

                            #refactoring boosted

                            [?]Leanpub » 🌐
                            @leanpub@mastodon.social

                            A Short Guide to Naming by Tim Ottinger is free with a Leanpub Reader membership! Or you can buy it for $5.00! leanpub.com/naming_shortguide

                              Back to top - More...