# code design

Published articles for code design.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Coding by Magic

DevFeed: [Coding by Magic](<https://devfeed.tech/articles/coding-by-magic-38391.md>)

Original publisher: [Read original article](<https://blog.danlew.net/2025/05/13/coding-by-magic/>)

Author: Dan Lew

Published: 2025-05-13T14:00:05Z

Content type: opinion

Language: en

Sources: [Dan Lew Blog](<https://devfeed.tech/sources/dan-lew-blog.md>)

Topics: [coding](<https://devfeed.tech/topics/coding.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [code-design](<https://devfeed.tech/tags/code-design.md>), [coding](<https://devfeed.tech/tags/coding.md>), [complex](<https://devfeed.tech/tags/complex.md>), [ide](<https://devfeed.tech/tags/ide.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>)

### AI overview

The author describes "coding by magic" as obscured connections caused by techniques such as reflection, convention-based coupling, and mutable global state. These patterns make codebases harder to understand, debug, and refactor, so the author generally recommends explicit connections except where dynamic invocation is necessary, such as plugin systems.

### Source excerpt

Most of my programming ventures begin with a single line of code I'm curious about. Who is calling the code, and how does this code fit into the larger jigsaw puzzle? As a result, "find usages", "go to declaration", and "go to implementations&

## Programming Priorities

DevFeed: [Programming Priorities](<https://devfeed.tech/articles/programming-priorities-38390.md>)

Original publisher: [Read original article](<https://blog.danlew.net/2025/03/11/programming-priorities/>)

Author: Dan Lew

Published: 2025-03-11T14:00:44Z

Content type: opinion

Language: en

Sources: [Dan Lew Blog](<https://devfeed.tech/sources/dan-lew-blog.md>)

Topics: [Maintainability](<https://devfeed.tech/topics/maintainability.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Development](<https://devfeed.tech/topics/development.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>)

Tags: [automated](<https://devfeed.tech/tags/automated.md>), [code](<https://devfeed.tech/tags/code.md>), [code-design](<https://devfeed.tech/tags/code-design.md>), [coupling](<https://devfeed.tech/tags/coupling.md>), [decoupling](<https://devfeed.tech/tags/decoupling.md>), [development](<https://devfeed.tech/tags/development.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [programming](<https://devfeed.tech/tags/programming.md>), [readability](<https://devfeed.tech/tags/readability.md>), [software](<https://devfeed.tech/tags/software.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

This article presents a priority order for code design: functionality first, maintainability second, and other concerns afterward. It argues that maintainable code reduces the time and risk involved in future changes, allowing later refactoring and optimization. Suggested practices include automated tests, good architecture, decoupling, encapsulation, readable code, and useful comments.

### Source excerpt

Software development (or, you know, life in general) is all about juggling priorities. For this post, I'm thinking specifically about code design priorities. You only have a limited amount of time to implement a feature, so you have to pick and choose which aspects of it to spend