• 0 Posts
  • 24 Comments
Joined 2 years ago
cake
Cake day: July 11th, 2023

help-circle

  • I think we don’t actually disagree and I was just not precise enough in my original post.

    What I described above applies to abilities that are relevant in combat and any other type of encounter that the respective system mechanically treats as a conflict similar to combat. That absolutely does not mean other abilities should not exist, just that they should not be practically usable during an ongoing combat-like short term conflict.

    Also: Abilities that are useful in short term combat-like conflicts and abilities that are not should not compete for mechanical resources of any kind, that is never fun.






  • Most abilities should be either “per round/turn” or “per encounter”.

    Abilities that are too powerful for that should either not exist or require significant preparation (enough for the opposition to have a chance to discover and interrupt it).

    Abilities that fall in the second category should automatically come with a less powerful variant in the first category.

    Maybe as a middle ground some player abilities could use the “roll for recharge” mechanic from powerful monster abilities.







  • Nowhere in that text does it say “managers are the real software architects”. What it does say is “what managers do affects software architecture”. Sure you can extrapolate that to delusions of grandeur, but if you take into account the explicit call for collaboration it is much more likely what was meant is more along the lines of “we can mess things up if we ignore the architecture, so let’s talk to the real software architects before making org decisions”.

    About the comic: That one does have the line “management designs software architecture”, much closer to the negative interpretation; but that too can be interpreted in a more positive way as “… and we are not good at that, so let’s make sure to bring in the people who are good at it at important points”.








  • it’s really useful to comment functions/methods, because otherwise you never know if something’s a bug or a non-obvious feature. Comments act as a parity check to the code, since they tell you what the dev who wrote the code wanted the code to do.

    Unit tests should be the parity check for other code. Those don’t get outdated with the next refactoring where someone didn’t remember to also adjust all the comments.

    Also, everone thinks they write good, clean and obvious code. Hardly anyone purpously writes bad, hacky code. Yet if you look at code you wrote a year ago, or code someone else on your team wrote, it’s full of non-obvious hacks. That means, people constantly misjudge the obviousnes of their code. Comments should be put on anything that could maybe be non-obvious.

    Why would people be better at judging if something needs a comment than at judging if something needs a better name or refactoring? Asking people to skip that judgement step and comment everything just gives you a bunch of useless boilerplate comments. That trains everyone reading that codebase to ignore comments because they are almost always useless anyway.

    putting documentation of the code anywhere else than in a comment (e.g. Confluence) is a total waste of time

    At least this we can 100 % agree on. Documentation should be as close as possible to the code. (I just think most of the time that place is in the name of things, not in an actual comment.)