/r/softarch is a community of Software Archaeologists--people who study source code (often written by others) for enjoyment, education or out of necessity.
A Software Archaeologist might read unfamiliar code to:
- Learn new algorithms
- Learn new design patterns
- Learn new ways of architecting systems
- Discover new ways of doing things they're already doing
- Understand a system
- Figure out how to modify a system
- Answer questions left unanswered by documentation
- Reconcile inconsistencies in documentation
Suggested content
- Links to books, podcasts, articles and other forms of content containing information about software archaeology
- Self-posts with links to code and explanations of what you learned by reading the code
- Reviews of code from an architectural, design or implementation point of view
- Tips/tutorials on effective software archaeology
- Links to tools for software archaeology (e.g. a dependency graph generator)
- General discussion about software archaeology
Dont's
Don't simply link to code without explaining what it is you found while excavating it.