Reputation
16,291
Top tag
Next privilege 20,000 Rep.
Access 'trusted user' tools
Badges
36 68
Newest
 Nice Answer
Impact
~550k people reached

1d
comment How to improve my skills at detecting edge cases on programming “exercises”?
You can test your TDD theory by solving the Codility problem in your working environment then cutting and pasting into Codility.
1d
answered Common imports between many scripts in Python project
Apr
25
answered User auto account deletion when using OAuth2
Apr
25
comment How to best design a job queue with constraints?
Queues are fairly cheap. Ones that are likely to remain short are even cheaper. If you've got under, say, 100k categories then this is not going to be an issue. In a comment categories map to hardware resources which are open connections on specific ports, so we're unlikely to exceed that kind of limit.
Apr
25
comment Finding all valid exclusive pair combinations (0,1 or 1,0) in 2x30 matrix
If you cannot write this code yourself, odds are that you won't be able to translate a valid solution from another language/representation to the one you need.
Apr
23
answered How to best design a job queue with constraints?
Apr
15
answered Microservices and shared libraries
Apr
12
answered When in your language classes are objects too, does the Liskov substitution principle apply to their interfaces?
Apr
7
comment Version control on standalone (in-house) libraries?
@mgw854 Exactly. If you've got a micro-service environment, then each micro-service can go through its own QA/deployment cycle with a locked down set of libraries. This is a best of both worlds where development is easy, and production changes are more controlled. But then you have all of the complexity of managing micro-services.
Apr
7
answered Version control on standalone (in-house) libraries?
Apr
7
comment Business logic: Database vs code
@Kevin Stored procedures got called out because they pose specific problems. Views only suffer from general database limitations around revision control, deployment and so on. But views still have a useful role. That said, they do NOT help with the problem that ORMs address of an impedance mismatch between relational data models and OO. If you're building a CRUD app, it would be stupid to not use at least a lightweight ORM. (That said, most ORMs promote complex query languages that are strictly worse than SQL.)
Apr
6
answered How to stay DRY with return values
Apr
6
comment Is using a function inside a for loop bad practice?
@8bittree In which case the link is correct, and the advice is highly specific to JavaScript's scoping rules.
Apr
6
comment How can I promote the use of the Builder pattern in my team?
There is not a single programming "best practice" that I'm aware of which doesn't have exceptions where it is not best. Sometimes it is hard to find those exceptions, but they always exist.
Apr
6
comment How can I promote the use of the Builder pattern in my team?
@Dunk All that exist are trade-offs. We call them right or wrong when the trade-offs are crystal clear and obviously on one side. However recognizing when that shades into ambiguous is easier if we focused on them being trade-offs from the start.
Apr
6
awarded  Nice Answer
Apr
5
answered How can I promote the use of the Builder pattern in my team?
Apr
5
comment Define “Refactoring”
I have always taken exception to "yet improves" in that definition. Instead I'd like to see "but changes". The reason is that many refactors are reversible and people can legitimately debate which version is better. However the person doing the refactor is less likely to understand that if they have internalized the idea that refactors are always improvements. So, for instance, changing variable names is a refactor regardless of whether the new name is better or worse than the old.
Apr
2
awarded  Good Answer
Apr
1
comment Business logic: Database vs code
@LarizzaTueros It is very easy for programmers to repeat "best practices" without thinking through why those practices would be best.