Recent comments in /f/programming

Moonside wrote

All the kids here pronounced Quake as "Guahkeh" here so the name is super amusing to me. I'm the kind of a super nerd who uses the Xmonad window manager and typing "Windows key + p + xterm" each time I want a terminal truly is pita so I'll give this a shot. Function keys are pretty neat and ought to be used by more software imo so just hitting F12 is super convenient.

3

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

musou wrote

that's exactly the common attitude i hate so much and it drives me batty. to me, a lot of comments indicates a lot of complexity, not necessarily bad quality. sometimes the things you have to do are just complicated! and it doesn't mean the code is bad, just that you're doing something hard. and if you don't write a ton of comments about it then when you have to understand it again in six months it's gonna be just as hard, and take just as long, as arriving at the solution the first time.

i'd rather just take the risk of comments getting out of sync with the code they decorate, because at that point they'll be about as useful as no comments, and then you've only wasted whatever span of time it took you to write them, and i think most everybody can write comments faster than they can write code.

1

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 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

RoundSparrow wrote (edited )

Interview isn't a job. This sort of thing isn't uncommon in tech industry.

Did they not give you a name and phone number you can check on an Amazon directory of employees?

Developers at all levels have to not fall for a phishing attack: verification of contact isn't a bad thing, and actually shows a level of consciousness in the role all employees play in security.

2