Home » Software Development (page 243)

Software Development

Lessons in Software Reliability

What does it take to build reliable and stable enterprise software? First, stop writing lousy code It’s unfortunate that few developers are familiar with The MITRE Corporation’s Common Weakness Enumeration list of common software problems. The CWE is a fascinating and valuable resource, not just to the software security community, but to the broader development community. Reading through the CWE, ...

Read More »

Not doing Code Reviews? What’s your excuse?

All of us have known for a long time that code reviews find defects, and that reviews are cheaper and can be more effective than most kinds of testing. In Code Complete, Steve McConnell builds an overwhelming case for code reviews: disciplined code inspections can find between 45%-70% of all defects in code, while even fast, informal reviews can find ...

Read More »

Poor man’s approach in practice

One day we ran into problem when an application was randomly starting using more CPU resources as usual. It continued picking more and more CPU resources from time to time. Thread dump showed many threads though we couldn’t understand wich of them is problematic…and I remembered about poor man’s profiler and its approach: the stack that’s all we need to! ...

Read More »

Hate Java? You’re fighting the wrong battle.

One of the most interesting trends I’ve seen lately is the unpopularity of Java around blogs, DZone and others. It seems some people are even offended, some even on a personal level, by suggesting the Java is superior in any way to their favorite web 2.0 language. Java has been widely successful for a number of reasons: It’s widely accepted ...

Read More »

Refactoring Hudson God Class

Jakub Holy, one of our JCG partners, has recently shared his experience at attempting to refactor Hudson, the main class behind the famous Continuous Integration (CI) server, now renamed to Jenkins. Let’s see what he has to say about this refactoring experience. We’ve tried to refactor Hudson.java but without success; only later have I been able to refactor it successfully, ...

Read More »

Why Automated Tests Boost Your Development Speed

Many critics against writing automated tests directly address the additional time that is needed for coding them, which alternatively could have been invested in writing new functionality. Writing tests definitely needs time, and especially developers that are new to unit testing will need to invest more. While the methodology (test-first or test-last) plays a major role in the efficiency of ...

Read More »

Code quality matters to the customers. A lot.

Some people argue that the main taks of a developer is to deliever working, value-bringing software to the customer and idealistic concepts such as code quality should not hinder that primary task. They acknowledge that it is good to strive for good code quality but say that sometimes code quality must give way to the quick deliverance of outcomes to ...

Read More »

The simple Big-O Notation Post

Our JCG partner Brian Du Preez has posted an explanatory article on his blog, Zen in the art of IT, concerning the Big-O notation. The Big-O notation is used for describing algorithm performance, scalability, execution and complexity factors. Understanding what the Big-O notation stands for is essential for every developer who wants to write performant, robust and scalable code. Lets see what he has to say … ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns