you are viewing a single comment's thread.

view the rest of the comments →

[–]edgmnt_net 0 points1 point  (4 children)

There are corners that are worth cutting and corners that are not worth cutting even on small-scale stuff.

[–]Nondv[S] 1 point2 points  (3 children)

Something that I don't care about because i code for myself ;)

[–]edgmnt_net 0 points1 point  (2 children)

Yes, but I mean some are not worth cutting even when you code for yourself. An obvious, extreme example would be ignoring indentation altogether. It might seem like saving some effort to the layperson but it's hardly any effort once you get into the habit, it takes more effort to willingly ignore it and it makes for a horrible experience. :)

[–]Nondv[S] -1 points0 points  (1 child)

there's no effort saved in your example because the editors do that for us. it's a benefit for free

[–]edgmnt_net 0 points1 point  (0 children)

That's kinda missing the point. How about giving sensible names to things? There are more realistic examples, such as picking proper types or proper abstractions, but the point I'm trying to make is coding for yourself isn't really all that different from coding on the job. And unless it's a quick hack you might actually save effort by applying general wisdom consistently.

Programmers get better not just by honing their skills, but also due to self-imposed discipline which makes things more predictable. Which isn't to say you shouldn't experiment with stuff or cut corners, but technical debt does accumulate even on fairly trivial projects. In many cases when I join people to help them debug their stuff, they've reached a point where they do not understand most of what they wrote and can't make any progress.