Documentation as code: Principles, workflow, and challenges
tabnine.com
tabnine.com
On documentation, it reminded me of the only aspect of JIRA that I really miss: the ease to link a ticket to a MR/commit, or even just mention the number in a comment.
That meant that on any code part, a quick look at the blame would get the ticket ID from the comment's prefix. Just paste the ID in a JIRA URL and voila: a full picture of the latest change that touched the code, what project/feature it was part of, the discussion on it if there was any, and potential the initial design documents linked from there.
Devs are lazy and so am I, having a single ID to stick anywhere to link to a context was so much easier that pasting notion links or having to write long MR descriptions.
I think people longing for more documentation would also be happy if our default tooling helped a lot more to link code to the external task management/discussion systems.
It was just useless busywork, instead my team has a flat list of features/task to do for each releases, and we update it as part of the synchro meetings.
The big advantage is a ton of flexibility and having all the info we need in one place (e.g. we can inline release procedures with discrete tasks, have common info for a set of tasks etc.)
It requires more discipline (no reminders, burbdown, velocity etc.) but that works well enough with 3/4 people lines.
We do it in Notion, wo the urls are ugly and not really suitable for reference and different trams have a different management style.
> I basically gave up on using ticket tracking for most projects.
> It was just useless busywork, instead my team has a flat list of features/task to do for each releases
And are you hiring? (:sweat-smile: just kidding, sort of!)
The numerical ID feature looks nice. Notion tables aren't great, but it I guess it could work on task databases as well ? I'll try.
> are you hiring?
I look around every few years to see what would my options be, just in case. Asking how they manage their project feels more and more like the best reflection of their work environment, and very few have a coherent explaination of why they're using X method...
We're hiring, but it's a pretty niche japanese company, you probably already crossed it if you're in the space.
I can counter that with concrete advice: make your own tooling because there isn't anything out there that is good. In iommi I wrote tooling to write tests with extra comments that are then projected into docs. The advantage is that the code examples are a part of the normal test suite. I also generate output .html files from examples that are then embedded as iframes into the documentation, which is a superior way of doing screenshots.
Nothing irritates me quite as much as the usual "Open Source Isn't Cheap!" people. Mostly because of the cognitive dissonance: of course it's cheap, it's free. You're trying to gaslight the English dictionary. Cheap doesn't mean cost over time, it means cost right now. A 1998 Kia Sedona is cheap. Now, does it cost a whole bunch? Well, maybe it will, and maybe it won't[1], but that doesn't make it not cheap. Goddammit.
[1] Although, with the Sedona, probably it will. I'm more of a "grab a farted up old Lexus or Infiniti" kind of guy.
https://baky0905.github.io/personal-website/blog/2021/04/02/...
It supports some neat features like webpage manipulation and screenshots. Check it out https://github.com/zombocom/rundoc
Also I linked in another thread, it’s possible to run and test some types of documentation. It won’t guarantee it is good for the end user but it will at least guarantee it’s doesn’t error.
But also, I did work on a project once where a test would scrape code snippets from documentation and make sure they still worked as expected. It's bad enough to break compatibility in your CLI, etc. but sometimes you need to do it. It's really bad when you have tutorials, recipes, etc. and they bit rot.