Line must go down! Maintenance weeks are over![1]
Software maintenance, large scale refactoring, creating/improving documentation, deduplicating code are some the most boring & thankless tasks, but also so essential, especially on projects of the scale of https://thi.ng/umbrella (with almost 4100 source files)
Yesterday was #ReleaseFriday, most prominently featuring new major version & expansion of https://thi.ng/geom (and its 20+ support packages) — I will write about it more in coming days.
Part of this major release cycle also included a repo-wide round of various cleanups, incl. updating & reviewing 425 code snippets in doc strings and preparing them for extraction[2], fixing links in docs, enforcing naming conventions for package internals across all 190+ packages, deduplicating and refactoring internals in dozens of projects, updating examples, building tools to generate diagrams for readmes etc.
These have been some intense few weeks, but I'm super glad it's all done (for now)!
Happy coding! :)
[1] The hours of tech debt auto-calculated in this diagram are a bit pointless (completely OTT and containing alot of false positives), but the graph still nicely shows the effort & progress involved... Btw. the chart is from here:
https://codeclimate.com/github/thi-ng/umbrella
[2] Wherever possible, code examples/snippets in project readme's and docstrings embedded in source code can be extracted into their own source files via https://thi.ng/tangle and then run directly (e.g. via https://bun.sh). You can find more info in this section of the main readme:
https://github.com/thi-ng/umbrella/blob/develop/README.md#extracting-code-examples-from-readme-files--comments