Moonside

Moonside wrote (edited )

To add to what the admin said, the software this site runs on, PostMill, will on some future date probably have more options for adding images to themes and shit.

EDIT: ok the author stopped development of PostMill so that's not going to happen.

2

Moonside wrote

I feel like this is, again, some Uncle Bob bullshit. Seriously, fuck that sexist prick. He has this schtick about how TDD is all and other techniques to improve reliability and reduce errors are bullshit. Like I would be much more congenial to the attitude if it implied things like (choose your own picks):

  1. programming by contract
  2. property based testing
  3. fuzzers
  4. unit testing
  5. integration testing
  6. good method documentation, perhaps with (an) example(s)
  7. literate programming
  8. code review
  9. formal specs
  10. some nicer type system
  11. pair programming
  12. safer languages - if there are no segfaults, you don't need to advertise the risk of one
  13. Have some people dedicated on hammering your software in evil manners
  14. proofs (but that's avant garde tbh)
  15. stats on commits/bugs per product, project, package, module, file, method/function. If something gets a lot of work done, unleash the testers.
  16. Outsourcing to Donald Knuth

I think it's the case usually that this comment hater has one or three favorite techniques they like and thus disregard the rest of the universe and I bet they don't even have TAOCP on their book shelf.

2

Moonside wrote (edited )

If I was an instructor on some software course, I'd make an online assignment to come up with 5 excuses for not writing documentation and share the best answers with the class afterwards.

Class invariants are imo cool and underappreciated part of OOP. It's also my belief, untainted by any real research though, that designing, verifying and testing them would kill lots of bugs.

2

Moonside OP wrote

tbh I do want to admit contemporary academic success measured by metrics isn't, like, the way to decide these things since phrenology also had its heyday once. I haven't been reading Chomsky since I was like 14 so I can't judge him adequately but I'm also somewhat disinterested in him so yeah.

1

Moonside wrote (edited )

"I don't write comments because comments and code drift apart."

"See the unit tests if you really want to figure out how it works."

"I'll document it later now that I got it working and it made it into the API."

"I'll lock down this method's name before writing its documentation."

"Contracts? Code is law."

"We use test driven development here so we don't need dedicated testers."

"The language I use doesn't support checking class invariants well so I just ignore them."

"It was clear enough for Torvalds."

"Commit it now, compile it later."

"I don't write documentation for functions besides types, since types are compiler verified and they are plenty good anyway. Everybody gets these things just like me."

5