Tuesday, September 6, 2011

Clean code theory in English


Clean code theory in English
Table of contents

Clean Code Theory
What do the colors mean ?
When do i change from one color to another ?
What does red, orange, yellow, green and blue mean ?
How can i motivate other developers ?
How could we improve the quality of this article ?
Source code convention tools
Literature, good books and references
How can i subscribe/feed this blog ?
Want to stay up to date ?
How can i rate this blog ?
Where do i find more clean code knowledge and gadgets?

Clean Code Theory

Hi there! Inspired by the geman website www.clean-code-developer.de i have lauched the treslines.com initiative with the aim to make it also popular to the english speakers. In this blog i wanna make you familiar with the basic colors of the clean code initiative and its meaning.

What do the colors mean ?

Well, In the initiative there are 7 rotational degrees. It starts from black, thru red, orange, yellow, green, blue till white. Black means only that you are interested in learn more about it and are preparing yourself to get started. Personally, i do not thing that we nescessarily need this degree. It says only that you are interested in it. www.treslines.com offers gadgets to support the iniciative. There you’ll never find the colors black and white. The white degree means that the developer are working with a huge openminded horizont. Instead of wearing the white degree, the developer should turn back to the first degree and start it from the beginning again. Thats the reason we say ratational degrees.

When do i change from one color to another ?

Well, thats up to you. I recommend a period of 1-2 month each degree.

What does red, orange, yellow, green and blue mean ?

These are interesting degrees. In it we will find always design principles to apply and best practises to use. Check www.treslines.com for gadgets and know how about clean code as well agile development.

 
Principles
1. Don't Repeat Yourself (DRY)
2. Keep It Simple, Stupid (KISS)
3. Favor Composition over Inheritance (FCoI)
4. Beware of Optimisations (BoO)
Practises
1. Scouts rules
2. Root Cause Analysis
3. Version Control
4. Simple Refactoring
5. Daily Reflection of your Work

 
Principles
1. Single Level of Abstraction (SLA)
2. Single Responsability Principle (SRP)
3. Separation of Concerns (SoC)
4. Source Code Conventions
Practises
1. Issue Tracking
2. Auto Integration Tests
3. Read, read, read
4. Reviews
  
Principles
1. Interface Segregation Principle (ISP)
2. Dependency Invertion Principle (DIP)
3. Liskov Substitution Principle (LSP)
4. Principle of Least Astonishment (PoLA)
5. Information Hiding Principle (IHP)
Practises
1. Auto Unit Tests
2. Mockups
3. Code Coverage Analyse
4. Participation in professional events
5. Complex Refactoring


Principles
1. Open Close Principle (OCP)
2. Tell don't ask
3. Law of Demeter (LoD)
Practises
1. Continuous Integration I
2. Static Code Analysis
3. Inversion of Control Container
4. Expirience  sharing
5. Measure of Errors

Principles
1. Design & Implementation do not overlap (no inconsistency)
2. Implementation reflects design
3. You Ain't Gonna Need It (YAGNI)
Practises
1. Continuous Integration II
2. Iterative development
3. Component orientation (package structure)
4. Test First

How can i motivate other developers ?

Well i do that by talking about, i wear my treslines.com t-shirt, i wear my bracelets with the CCD (Clean Code Developer Initials and colors) and i use my brand new treslines bag. It feels fantastic and even on the train people start talking to me asking about it. It is also a great idea to motivate agile teams and to share your expirience. You may want a great gift to show your appreciation to your team. Surprise them with a gadget from www.treslines.com. I love it.

Other interesting blogs

😱👇 PROMOTIONAL DISCOUNT: BOOKS AND IPODS PRO ðŸ˜±ðŸ‘‡

Be sure to read, it will change your life!
Show your work by Austin Kleonhttps://amzn.to/34NVmwx

This book is a must read - it will put you in another level! (Expert)
Agile Software Development, Principles, Patterns, and Practiceshttps://amzn.to/30WQSm2

Write cleaner code and stand out!
Clean Code - A Handbook of Agile Software Craftsmanship: https://amzn.to/33RvaSv

This book is very practical, straightforward and to the point! Worth every penny!
Kotlin for Android App Development (Developer's Library): https://amzn.to/33VZ6gp

Needless to say, these are top right?
Apple AirPods Pro: https://amzn.to/2GOICxy

😱👆 PROMOTIONAL DISCOUNT: BOOKS AND IPODS PRO ðŸ˜±ðŸ‘†

Friday, September 2, 2011

What are the contraindications for agile projects? (checklist)


What are the contraindications for agile projects?
Table of contents

What are the contraindications for agile projects? (checklist)
When are agile methods suitable ?
How could we improve the quality of this article ?
Source code convention tools
Literature, good books and references
How can i subscribe/feed this blog ?
Want to stay up to date ?
How can i rate this blog ?
Where do i find more clean code knowledge and gadgets?

What are the contraindications for agile projects? (checklist)

When are agile methods suitable ?


Agiler Background:
The agile approach is not always the best solution. There are work environment or circumstances that militate against the agile approach. Below are the contra-indicators to observe and evaluate:.


Agile Contraindicators:
These are the criteria, which does not speak for the agile approach. In this case, other approaches shall be favored.

                Contraindications Customer
o  The project goal is not SMART. The goal is not clear. (specific, measurable, appropriate, relevant, terminated)
o  process is defined and regulated. (e.g. by Authority or Law)
o  Nice-To-Have-projects. If the pressure required is missing or it has no great significance for the organization. (No pressure = no result value)
o  Customer’s decision takes a long time. When agile process, the feedback is an important element. The absence of this element, makes the project to fail.
o  Lengthy change request process. These are formalized change process. The project stays still.
o  No user or customer contact. Projects without user or costumer contact are difficult to perform agile.
o  customer does not control the outputs. The customer must take care of the project. At least 50% of the time available shall be invested, otherwise the above-mentioned problems will arrive.
o  creation of life critical software. If the meaning of provability is higher than the agile approach.
o  fear of responsibility. If errors are not seen as an opportunity to learn, but interpreted as misconduct charge.
o  Client does not support the agile approach. To customer needs to come and play its role in the feedback activity.
o  No work on site possible. For agile methods is the close cooperation with customers and users very important.
o  fixed price projects - in such cases, consider whether or not feature driven development would be appropriate. It comes from fixed-price combinations.
o  Client is an authority - If the Customer is an authority, most of the decision paths takes to long, fixed price, a given process, i.e. a collection of some contraindications.

Contraindications Developers
o  No experience with agile projects, and no coach available.
o  unwillingness or inability to learn. Agile software development is a learning process.
o  culture of command and obedience - in a strictly hierarchical culture that grants the instructions almost like commands, each devbeloper is controlled so that any error is found for a guilty person, are not suitable for the application of agile methods.
o  If developers do not want user contact - then it is hardly possible to apply agile methods.
o  High developer fluctuation which is not good for the team
o  Developer does not accept to work on site if needed or possible.
o  No management commitment to an agile method - without it is not possible.

Contraindication Technology
o  Long build time

Agile Tip!
Book tip: Agile software development, values, concepts, methods of Wolf-Gideon Bleek - Henning Wolf-Morgan Kaufmann Publishers, - ISBN: 978-3-89864-473-0


😱👇 PROMOTIONAL DISCOUNT: BOOKS AND IPODS PRO ðŸ˜±ðŸ‘‡

Be sure to read, it will change your life!
Show your work by Austin Kleonhttps://amzn.to/34NVmwx

This book is a must read - it will put you in another level! (Expert)
Agile Software Development, Principles, Patterns, and Practiceshttps://amzn.to/30WQSm2

Write cleaner code and stand out!
Clean Code - A Handbook of Agile Software Craftsmanship: https://amzn.to/33RvaSv

This book is very practical, straightforward and to the point! Worth every penny!
Kotlin for Android App Development (Developer's Library): https://amzn.to/33VZ6gp

Needless to say, these are top right?
Apple AirPods Pro: https://amzn.to/2GOICxy

😱👆 PROMOTIONAL DISCOUNT: BOOKS AND IPODS PRO ðŸ˜±ðŸ‘†