Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Ensign Expendable
Nov 11, 2008

Lager beer is proof that god loves us
Pillbug

Love Stole the Day posted:

imo if your organization is so bad innovative that you're not even updating your docstrings then you've got bigger problems than knowledge siloes

Boy, do we!

Adbot
ADBOT LOVES YOU

kayakyakr
Feb 16, 2004

Kayak is true
Honestly, switch to GraphQL and use self-documenting API's?

The Fool
Oct 16, 2003


We just finished a project for autogenerated documentation where we pull the readme, input and output info, tests, and changelog and turn it all into a wiki page

the end result looks pretty good, all the different items are in one place, and the tests are turned into code examples

this is for a library of internal facing terraform modules

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.

kayakyakr posted:

Honestly, switch to GraphQL and use self-documenting API's?

The complexity for us is that boundaries are not well defined, we stuff things in request specific contexts and get/update those throughout the lifecycle of a request, with absolutely no well defined interfaces.

The positive is my team can hoist stuff out easier than most and my new incoming manager is really passionate about stuff like this.

The negative is my company is old guard red tape middling managers who love toil.

Ensign Expendable
Nov 11, 2008

Lager beer is proof that god loves us
Pillbug

The Fool posted:

We just finished a project for autogenerated documentation where we pull the readme, input and output info, tests, and changelog and turn it all into a wiki page

the end result looks pretty good, all the different items are in one place, and the tests are turned into code examples

this is for a library of internal facing terraform modules

Auto generated documentation has been suggested as an alternative, but it's a vicious cycle of no priority being given to setting it up, the person responsible is pulled on to something else, the project stagnates and dies, and then the next time auto generated documentation is suggested my counterpart has a new hotness solution that he also gets bored of and abandons after a while.

The Fool
Oct 16, 2003


Yeah, this was our third attempt at it over the last two years for exactly those reasons.

Just luck that we were able to avoid distraction/reprioritization long enough to get it over the line.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
If there's four possible locations for varying-correctness documentation then consulting them will be my last resort because that is a pain in the rear end. If there's one location and it's not wrong (and I remember that it exists), I might check it before just reading the code or poking the endpoint or calling functions that look relevant to see what happens.

So my suggestion is to delete all the sources of incorrect documentation before you embark on the one true source. And if you get distracted after the deletion step, you've still made my day faster as the schlub who no longer has four possible locations to check.

"But there might be something important in the wrong documentation!" well you were just saying how useless your documentation is so no, there isn't. But ok then download an archive, put a .zip somewhere, and never look at it. Pay for its storage with the savings from having fewer Notion seats or whatever.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.
I wanna tattoo all that on my face.

Why do docs work for us now? Because I told my manager - the old "TL" can't share knowledge in a way that allows engineers to grow, I need some time to improve this - and he said "cool rebuild the knowledge base" and instead of relying on lovely old docs I just blasted some Celsius and read the code myself, then made structured pages that let engineers jump in and guide them in understanding things and point to structure that won't change without massive refactors but leave the line by line understanding to them.

biceps crimes
Apr 12, 2008


Love Stole the Day posted:

imo if your organization is so bad innovative that you're not even updating your docstrings then you've got bigger problems than knowledge siloes

that's right

Ensign Expendable
Nov 11, 2008

Lager beer is proof that god loves us
Pillbug
Sadly the official line is "it's his team and he can run it however he wants" even though it negatively affects other teams including mine in visible and measurable ways.

Fortunately we were recently acquired and the new big wigs are pushing hard for things like process, documentation, and predictable delivery so at least I have some help from above now.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Ensign Expendable posted:

Sadly the official line is "it's his team and he can run it however he wants" even though it negatively affects other teams including mine in visible and measurable ways.

Fortunately we were recently acquired and the new big wigs are pushing hard for things like process, documentation, and predictable delivery so at least I have some help from above now.

lol i have this but "however he wants" includes making GBS threads all over my team's projects because ownership of features/modules is undeclared and conceptually shared through the entire org

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!

leper khan posted:

lol i have this but "however he wants" includes making GBS threads all over my team's projects because ownership of features/modules is undeclared and conceptually shared through the entire org

The feature is blocked because the code review I submitted 15 minutes ago for it to you hasn't been approved yet. Your manager will be asking shortly when you're going to approve it.

Edit: The pull request doesn't even compile.

luchadornado
Oct 7, 2004

A boombox is not a toy!

We went heavy on DDD (the useful parts) for my latest project and it turned out really well. Basically banned documenting things in places like Confluence and people gradually got really comfortable with spending a few extra minutes coming up with appropriate names for things and being defensive of our domain without bikeshedding. The type system is leaned on hard - we use a lot of sealed classes and custom-built things like a NonEmptyList<T>, and we try to encode as much business logic as we can into types. This also has the benefit of making it easy to put almost all business logic in a functionally pure module.

Our documents are pretty much just an event storming diagram, the code, and a few integration/flow charts to understand more complex behavior. Documenting the accidental complexity seems to be the part that really sucks and that no one wants to maintain.

redleader
Aug 18, 2005

Engage according to operational parameters
auto-generated docs are fuckin useless tbh


kayakyakr posted:

Honestly, switch to GraphQL and use self-documenting API's?

:frogbon:

Adbot
ADBOT LOVES YOU

MrMoo
Sep 14, 2000

I’m starting to like a tiny bit the JSDoc/TSDoc poo poo show that VSCode supports, ie bare minimum to provide some annotations in the UI. But it’s not remotely great, especially with inline examples that usually take up a lot of screen real estate.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply