Imagine you have a configuration table like the following:

CREATE TABLE rule ( name VARCHAR2(50) NOT NULL PRIMARY KEY, enabled NUMBER(1) DEFAULT 1 NOT NULL CHECK (enabled IN (0,1)), priority NUMBER(10) DEFAULT 0 NOT NULL, flag1 NUMBER(3) DEFAULT 0 NOT NULL, flag2 NUMBER(3) DEFAULT 0 NOT NULL, flag3 NUMBER(3) DEFAULT 0 NOT NULL, flag4 NUMBER(3) DEFAULT 0 NOT NULL, flag5 NUMBER(3) DEFAULT 0 NOT NULL
);

It specifies a set of rules that:

Source de l’article sur DZONE

Writing good code in accordance with all the best practices is often overrated. But is it really? Writing good and clean code is just like good habits which will come with time and practice.
We always give excuses to continue with our patent non-efficient bad code, reasons like no time for best practices, meeting the deadlines, angry boss, tired of the project, etc. Most of the time we try to procrastinate by saying will make it efficient and clean later but that time never comes.
Bad code is not problematic for us to understand but for the other developers who will handle that after us.

So, let me get you to the points by Robert C. Martin in his captivating book Clean Code.

Source de l’article sur DZone

App Annie présente un classement des applications mobiles les plus populaires et les plus rentables sur iOS depuis la naissance du store d’Apple. Si la palme de la popularité revient à Facebook, faire de l’argent reste une affaire d’abonnement.
Source de l’article sur ZDNet

Groovy supports named arguments for methods. In fact, Groovy collects all named arguments (defined using the name followed by a : and the value) into a Map. The Map must be the first parameter of the method to make it all work. Since Groovy 2.5.0, we can use the @NamedVariant AST transformation annotation to let Groovy create a method where the first parameter is a Map that supports named arguments for an existing method. The existing method is still available, but Groovy adds an extra method to our generated class.

By default, Groovy will make the first parameters of the original method part of the new method for supporting named arguments. If the first parameters are a class type, then the properties of the class can be used as named arguments. We can also explicitly define which parameters of our original method should be named arguments using the annotations @NamedParam and @NamedDelegate. These annotations need to be defined for each parameter. The newly created method by the AST transformation invokes the original method.

Source de l’article sur DZONE

When your heroes start acting weird, you reexamine their influence on your life. I’ve long been learning, demonstrating and teaching clean code through TDD, patterns, and so on. But when I look back, I am now worried that the ideas negatively influence my life and my work and that of others.

Many who know me consider me an exceptionally skilled programmer. I got that way because I have often spent my evenings practicing programming techniques and technologies. I often leave the office 1-2 hours later than my co-workers after polishing some piece of ultimately meaningless code. This is time I don’t spend with my family. Because I’ve learned to care about Clean Code.

Source de l’article sur DZone

Virtual collaboration is an excellent alternative to time-sucking in-person meetings, but few people recognize it as a viable option. That’s a shame – because people love to hate meetings.

“Meetings are indispensable when you don’t want to do anything.” – Canadian economist John Kenneth Galbraith

Source de l’article sur DZone

Today, we are going to learn how to expose standalone RESTful web services. The purpose of this post is to enable a reader to write their own RESTful web services.

Yes, that’s right! I’m sure that after watching this short video you will be able to write your own RESTful web service. Let’s get started.

Source de l’article sur DZONE

Le réseau social aurait mis la main sur cette jeune pousse britannique spécialisée dans le traitement du langage naturel.
Source de l’article sur ZDNet

Enterprise apps are extremely popular now. However, developing apps can turn out to be a costly endeavor. Here are some tips to keep costs in check, while still developing high-quality apps.

Design First, Build Later

The basic mantra to develop a high-quality app in the most efficient way is to design upfront. Get clarity on the purpose of the app, the user-base, and the overall scope of the app. Perform a thorough requirement gathering exercise. The cost of the app development process is often a function of the requirements. More the requirements, greater the cost.

Source de l’article sur DZONE

I was thinking about the impact of knowledge and risk on software development the other day and had a thought about the effectiveness of analysis in Scrum projects. We all know that when we begin a new development project, knowledge is at the least and risk is at the greatest. This is true regardless of project methodology. The cone of uncertainty is a great way to describe these forces. The area inside the cone is uncertainty or risk. As the project progresses, the level of uncertainty and risk is reduced until the project is complete and there is no longer any uncertainty — only delivered code.

However, I find it interesting to look at the area outside the cone as well. This area is certainty or knowledge. We can see that as the project progresses, knowledge increases until the project is complete and knowledge is maximized as the code is delivered. This is intuitive and makes good sense to those who run projects and live with the results.

Source de l’article sur DZone