Reputation
3,577
Top tag
Next privilege 5,000 Rep.
Approve tag wiki edits
Badges
3 12 33
Newest
 Good Answer
Impact
~234k people reached

Dec
23
comment Is individual code ownership important?
@pdr "Ownership" can have a few different meanings. For example, there's been some talk here of reintroducing it for our internal libraries, where the "owner" is the one that does code reviews, ensures consistency in the architecture, and prevents everyone else from doing hacks that could be better implemented (since a random dev is probably focusing on their specific feature/bugfix, and not the library's whole codebase). But the knowledge itself isn't siloed off.
Dec
17
comment Merge bug fixes from trunk in old branches
For completeness, let's say the test was a little wrong and version 3.7 has the same bug (say, it only happens on an edge case in 3.7, but happens in more easily-tested cases in 3.8+), but was only discovered after the fix was merged like this. Would you just cherry-pick at that point?
Dec
1
comment Maintaining SVN history for a file when merge is done from the dev branch to trunk?
Note that svn blame also supports -g at least as far back as svn 1.6.11, so you can see where individual lines come from as well
Nov
5
awarded  Good Answer
Sep
29
awarded  Nice Answer
Sep
27
comment Why are the sizes of programs so large?
@Voo One of the phenomenas Lightness is talking about is extremely well-known as "java schools". It's not just anecdotal.
Aug
21
comment Automatically reverting commits that fail the build
@CarlosCampderrós Squashing the auto-revert and their revert of the auto-revert is a bad idea; that's changing history already pushed somewhere
Aug
20
comment How has an increase in the complexity of systems affected successive generations of programmers?
And below physics is math
Aug
19
awarded  Nice Answer
Jul
9
awarded  Famous Question
Jul
8
comment What problem do algebraic data types solve?
In return, adding new cases is complicated because you need to go over basically the entire code base and extend every match - The tutorials and introductions I've seen don't even mention this feature. The problem is, without it, to an outsider the whole thing looks like an OnErrorResumeNext anti-pattern, where you don't have to handle all cases - hence questions like these, and confusion about how NullPointerExceptions won't happen, and etc. It needs to be kept in mind a lot more when explaining advantages of algebraic types to beginners.
Jul
6
revised How can this deterministic linear time selection algorithm be linear?
Median-of-median is now on a different page
Jun
17
comment Best practice boolean assignment
My first assumption with code like Variant 1 is that the two branches at one point in the past were more complicated, and someone wasn't paying attention when refactoring. If however that's how it was when first written, then I agree with "not understanding booleans"
Jun
17
comment How can I write unit tests that simplify feature implementation?
@anaximander strom mentioned that everyone involved is rather inexperienced, which is why it's a good thing to keep that possibility in mind as well
Jun
17
comment How can I write unit tests that simplify feature implementation?
@anaximander There's middle ground between your thoughts, which is what usually happens to us: Something in the design changed, and the tests are now out-of-date. In that case, changing the test is the right thing to do short-term. I think this question is about trying to avoiding that situation, a long-term solution for refactoring the code so the tests don't become out-of-date as easily.
Jun
16
awarded  Yearling
Jun
5
comment Why do we use the word “sprint”?
@enderland Percentage-wise, your run last night is right about the same balance as a 1-week agile sprint
Jun
3
awarded  Popular Question
May
8
comment Fast comparison of recursive directory tree against a database?
If the file changes, then other things change as well - like the last modified date. But this almost sounds like a premature optimization to me, have you measured how long it takes?
Apr
30
comment Is it okay to have objects that cast themselves, even if it pollutes the API of their subclasses?
@codebreaker Related to Crisfole's last comment, there's another way of looking at it that might help. For example, with the move vs fly/run/etc, that can be explained in one sentence as: You should be telling the object what to do, not how to do it. In terms of accessors, as you mention is more like the real case in a comment here, you should ask the object questions, not inspect its state.