Code structure organisation
(this will be fast) My name is Marcelo Lebre, I'm co-founder and CTO at Remote. Twitter: @marcelo_lebre
For the past few years I've been experimenting with different ways to organize codebases. I started it to improve my own craft as a programmer and later realized many people/teams could benefit from these findings.
I want to publish my conclusions but would like to have a better understanding of its impact with data/metrics.
These questions focus on codebase structure, how to organize your files and the logic within them.
As thank you I will randomly offer a pair of rare remote socks (brand new ofc) :D
If your answer wins the rare remote socks how can I contact you? (optional)
Your answer
What's your main programming language?
Elixir / Erlang
Java / Kotlin
Clojure
C / C++
JavaScript
PHP
Swift / Objective-C
C#
Python
Ruby
Go
Other:
How does your current codebase structure look like?
Monolith
Neo monolith
Micro-services
Domain Driven
Hexagonal
Other:
When you need to scale the current architecture what approach will you use?
Continue with current approach
Micro-services
Neo monolith
Domain Driven
Hexagonal
Don't know
Other:
Do you believe your current codebase structure could be improved?
Yes
No
Maybe
Does your current codebase lean towards bigger files or more files?
Bigger files (more LoC per file)
More files (less LoC per file)
Do you prefer bigger files (more LoC per file) or more files (less LoC per file)?
Bigger files
More files
How often do you have to refactor code because of tightly coupled logic or poor code structure?
Never
Rarely
Frequently
In your current project how much time do you spend refactoring, per development cycle, due to tightly coupled code or poor code structure?
0-25%
25-50%
75%-100%
N/A
Do you think your development cycles would improve significantly if you had a differently structured codebase?
Yes
No
Maybe
Can you reuse most of your code as easily as you’d like to?
Yes
No
What’s your go-to strategy to keep your codebase sane?
Thin controllers (handlers) and fat models
Fat controllers (handlers) and thin models
All layers (controllers/handlers, models, views, etc) are thin
Never needed to worry about that
Don't have one, I just keep building things as best as I can.
Other:
Have you ever heard of cyclomatic complexity before?
Yes
No
Do you practice the single responsibility principle on your codebase?
Yes
No
Never heard of it
Other:
If you could go back in time what's the one thing you'd fix in your codebase?
More tests
Better code segregation
More documentation
Other:
Why doesn't your codebase have better test coverage?
Code is too tightly coupled
External dependencies are hard to test
We don't have time
Doesn't really matter
It already does
Other:
Where/how did you learn how to improve your code structure?
Internet articles and blogposts
Coworkers
University
Online courses
On my own
Never did / Doesn't apply to me
Submit
Page 1 of 1
Never submit passwords through Google Forms.
This form was created inside of Remote.
Report Abuse
Forms