Live data from Hacker News

Going Fast Slowly

varnish-cache.org

11–20 of 29 posts

Re: Going Fast Slowly

#11
post #6

"I no longer think about code lines as an asset to be accumulated, but rather as an expenditure to be avoided." Good quote. Took me until my 30s before I started realizing this myself. Seems obvious in retrospect.

A practice we've implemented to manage this is tagging pull requests that have anything over 250 added (green) lines of code. Before anyone is willing to give you a code review, you have to justify why such a pull request requires so many lines, break it into multiple pull requests, or refactor your code. Often times, it makes review easier because the PR's are smaller and enforces a simple baseline that tells the programmer, your code is too big!

Re: Going Fast Slowly

#12
>> And eventually I no longer think about code lines as an asset to be accumulated, but rather as an expenditure to be avoided.

Maybe I'm a bit odd, but I got into programming with code golf, using lots of J, K, and others. So my growth has been the opposite. It was just last year that I realized it's okay (and maybe necessary?) for other people to read/understand my scripts.

Re: Going Fast Slowly

#13
Using git can you also see the times a single line was changed? I bet the numbers jump quite a bit. Sure you've got a 200 line program but over time you've written 20k lines!

Re: Going Fast Slowly

#15
post #12

>> And eventually I no longer think about code lines as an asset to be accumulated, but rather as an expenditure to be avoided. Maybe I'm a bit odd, but I got into programming with code golf, using lots of J, K, and others. So my growth has been the opposite. It was just last year that I realized it's okay (and maybe necessary?) for other people to read/understand my scripts.

> It was just last year that I realized it's okay (and maybe necessary?) for other people to read/understand my scripts.

Have you never found yourself in the position of not being able to read/understand your own code/scripts? (Though, I guess if it's so compact as K/J and very in-grained, I guess it might be possible to get the overview pretty quickly?)

Just FWIW, I'm in the position that other people definitely need to read/understand my code/scripts. After running git-blame I sometimes really hate past-me.

Re: Going Fast Slowly

#16
post #12

>> And eventually I no longer think about code lines as an asset to be accumulated, but rather as an expenditure to be avoided. Maybe I'm a bit odd, but I got into programming with code golf, using lots of J, K, and others. So my growth has been the opposite. It was just last year that I realized it's okay (and maybe necessary?) for other people to read/understand my scripts.

Even if slightly correlated I believe you are talking about a different issues and scale.

It is definitely good if other people can read your code, so you use great name convention and maybe add comments here and there, but is definitely better if people don't have to read your code because your code simply doesn't exist.

If you can achieve the same result with a careful design, a lot of hours of thinking and very few hours of typing, supposing that the design and the code is understandable by your peers, your code will be "more valuable" that if you achieved the same result with a lot of code.

Code is a liability is not ab asset.

Re: Going Fast Slowly

#17
post #16
post #12

>> And eventually I no longer think about code lines as an asset to be accumulated, but rather as an expenditure to be avoided. Maybe I'm a bit odd, but I got into programming with code golf, using lots of J, K, and others. So my growth has been the opposite. It was just last year that I realized it's okay (and maybe necessary?) for other people to read/understand my scripts.

Even if slightly correlated I believe you are talking about a different issues and scale. It is definitely good if other people can read your code, so you use great name convention and maybe add comments here and there, but is definitely better if people don't have to read your code because your code simply doesn't exist. If you can achieve the same result with a careful design, a lot of hours of thinking and very fe…

That's true, I shouldn't have compared my experience as a grad student in science to a project like Varnish.

> Code is a liability is not ab asset.

That's a great quote. I guess there's a sweet spot. Maybe, if only a handful of people need to be able to understand what you wrote, then the sweet spot can be skewed toward the terse end of the spectrum.

Re: Going Fast Slowly

#18
post #3

>> Varnish has been in existence for 10 years, so that's 15K lines per year. 200 workdays a year makes that 75 lines a day. 7.5 hours of work per day gives 10 lines per hour. You can't really say that, though. Let's roll back the clock to when the project was new and say, only 10k lines of code. Maybe that first 10k was written in a month. Fleshing things out, then adding features like crazy. Coding in a euphoric sta…

Exactly. One of my past jobs was maintaining a mature codebase that had been under incremental development for over a decade. Most of the bug fixes I made involved anywhere from 2 hours to 2 days of investigation, usually followed by a one or two line change.

Re: Going Fast Slowly

#20
post #6

"I no longer think about code lines as an asset to be accumulated, but rather as an expenditure to be avoided." Good quote. Took me until my 30s before I started realizing this myself. Seems obvious in retrospect.

“Measuring programming progress by lines of code is like measuring aircraft building progress by weight.” -- Bill Gates

Also relevant: http://www.folklore.org/StoryView.py?story=Negative_2000_Lin...
Post reply on HN