101010.pl is one of the many independent Mastodon servers you can use to participate in the fediverse.
101010.pl czyli najstarszy polski serwer Mastodon. Posiadamy wpisy do 2048 znaków.

Server stats:

513
active users

#refactoring

1 post1 participant0 posts today

Test-Driven Development can be considered as reducing your WIP (Work-In-Progress) at a microlevel. By focusing on writing just enough code to make a failing test pass, refactoring what you added and push to source control, we minimise the amount of unexecuted code (= WIP). Limiting WIP is essential for fast software delivery.

What is refactoring, why is it important and how can you get really good at it? In this Making Tech Better podcast episode, I spoke to @emilybache about enhancing the skills and culture of your teams, to make your code easier to understand and cheaper to modify.

You can listen here (subtitles on screen): youtu.be/ZcEz8cA017M?si=tYhdCb

youtu.be- YouTubeEnjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
Replied in thread

@GeePawHill

One danger of a too transparent box used for TDD is that tests get too coupled to a specific implementation and thus hinder refactoring and evolution. ie, taking the soft out of software.

Sure you are aware of that, but novices easily fall into that trap, when they not have learned enough about refactoring towards simpler code.

In recent years every spring seems to turn into a period of _massive_ refactoring & restructuring in #ThingUmbrella — maybe it's a form of spring cleaning, even though the reasons[1] are not seasonal... Currently spending my nights reworking the thi.ng/vectors package (likely one of the most comprehensive vector packages available for TS/JS) and trying out different splits/structures, testing their impact on package sizes and usability in existing downstream packages. Currently over 3000 source files with uncommitted changes... aaaarrrgghh! 🤯

Most functions (vector operations) in this package exist in multiple versions (many code generated, but now in need to be updated): Generic n-dimensional, loop-free, optimized 2D/3D/4D versions and strided versions for manipulating vectors views of larger nD data buffers (supporting all kinds of data layouts, incl. AOS, SOA, hybrid...)

[1] mastodon.thi.ng/@toxi/11429644

thi.ng/vectorsOptimized 2d/3d/4d and arbitrary length vector operations, support for memory mapping/layouts

Over-engineering takeaways:
➡️ Misjudging future requirements can lead to inappropriate abstractions.
➡️ Avoiding over-engineering can be as impactful as achieving technical brilliance.
➡️Simplicity is key to maintainability.
➡️Avoid predicting needs that aren't certain.
➡️Create abstractions that align with current and reasonable future requirements.

16elt.com/2024/09/07/future-pr