But every ten-line bit of repeated code has nine two-line bits and eight three-line bits. There's probably something there to extract. Start there, with smaller abstractions. Start refactoring at the bottom!
I like Eric Normand’s idea: when in doubt, refactor few lines of code rather than more lines. Extract 2 or 3 lines and give them a name (method or function). I am aware he usually uses Clojure where you often see short functions. But it applies to other programming languages as well.
There is a nice article that compares several git workflows:
- Centralized workflow
- Feature branch workflow
- Gitflow workflow
- Forking workflow
I admit I don’t use git on a daily basis. Therefore I value they show the git commands.
At work we use trunk based development.
Here are concepts that are frequently asked about in web development interviews.
RabbitMQ and Apache Kafka are the most popular messaging technologies on the integration market. Get the insight you need to choose the right software for you.
Having used neither, this is an interesting comparison.
Tuning SQL isn’t always easy, and it takes a lot of practice to recognise how any given query can be optimised. One of the most important slides of my SQL training is the one summarising "how to be fast"
Lukas Eder from JOOQL posts some code to benchmark SQL statement. Comes in flavours of PostgreSQL, Oracle and SQL-Server. Handy.
Choosing the correct log level shouldn't be a chore
Dan Lebrero has a nice idea: change vague error logging methods like “debug”, “warn”, “error” into something meaningful, i.e. what will be the effect off invoking them: “toInvestigateTomorrow” and “wakeMeInTheMiddleOfTheNight”. 🙂
Interesting article on how to use Spark to test HTTP clients.
Mike Cohn notes:
Without standards of excellence for agile, anyone can call anything agile.
And asks his blog readers:
What do you think are the core principles or elements of agility?
Which starts an interesting discussion.
One answer that I want to refer to is the “Heart of Agile” by Alistair Cockburn. It’s