Code Review vs. Pair Programming TCP vs UDP
course in an ideal world it would be best to have both Code Review (CR) and Pair Programming (PP).
brutal reality, however, there is usually no time to do so because their performance is associated with delusion wasting time.
Fortunately, mature organizations, we find the time for such "luxuries" they need to understand - especially when the expansion team of "young, talented, promising". Then
defultowo choice is normally to CR.
What we can see during the CR? Certainly
:
- a large part of the rules
Clean Code - the level of reasonableness tests
- very general compliance with the adopted architectural style
- with greater involvement may be part of the rules GRASP or SOLID .
\u0026lt;dygresja>
As for the basic principles of Clean Code it would appear that they are intuitive. That everyone in first year of educational programming (whether in a primary or is in college) understand that the short method identifiers and samoopisujÄ…ce - GOOD, vice versa - BAD.
It turns out that, however, necessarily. In your free time you look at yourself and colleagues from the team for the domination of one of two types of intelligence: verbal and algorithmic.
recommend Excellent article Andrew Szczodraka " A programmer-writer and developer-constructor ... "
says emphatically including Greg Young "somewhere" in his 6.5 hour video .
general moral is: important to properly assign a natural ability of developers to the relevant parts of the system.
general difference is, that the developers of the dominant verbal intelligence ensure a form of expression. Their attitude - and even predisposition - determine the elegant style, clarity and simplicity (within the meaning of verbal simplicity). A possibility of an elegant and simple expression of intent is for them a tool for verifying the correctness of the idea (not verified formal but more intuitive). Algorithms are not their strong point, rather, patterns, general principles and forms of architecture, archetypes. They are unfortunately a morbid tendency to create frameworks to give a framework for thoughts.
The developers of the dominant intelligence algorithmic feel well in the complex tangle restrictions do not care about style and form - these are negligible for them. At the level of performance of the algorithm counts. Their strengths are more libraries than frameworks.
addition, a dozen years in the head with a hammer tapping on the lessons / classes in mathematics where the good name of the function f is or g , the good name of the variable is x, y, k, l, m, n and the best jobs are those without context and no content - strengthen the natural habits.
\u0026lt;/ digression>
I hope to pinch a bit of psychology to throw new light the basic principles of Clean Code - which as an enthusiast of good models of verbal person, I agree entirely. However, other people must also understand and can not always be clean-Nazi.
In addition, many of the basic principles of clean code can be checked automatically.
However, as the test design? To check the reasonableness of the concept of a solution? To check the business model?
/ / disregard here the organizations, where artifacts any, come "from above" to wklepania.
also assume that the verification of design metrics from the machine is like evaluating the image by histogram;)
Thus, in order to check the class issues during CR, the verifier must reproduce almost all the mental work of the person who reviewed the code spawned. In other words we have a dual mental effort!
What if it actually will bear (ie, check to see something more than the length of variable names and methods) and it turns out that the whole concept is flawed and had to rewrite it?
Can rewrite, or maybe finish the CR statement: "Next time try to be more"?
Since we invest time the other person (usually the "stronger") in the creation of the code, you may want to do it at first. So that this person was involved in the development of the concept of a solution and not only checked the length of the method;)
is the big chance:
- hatching a better solution, model, concept
- eliminating the need to rewrite
- clean code is a by-product - expert usually can not write otherwise than purely - shit just go slow or even impossible to think
Therefore, better practice beforehand Pair Programming (model driver and remote control), rather than belatedly count lines in the methods and to check whether the variables are called common sense dictates that P
In other words: with the limited man-hoursy to invest, get a better return from the PP.
I hope that the archaic words used in the last paragraph gave their fasting suffered, the festive nature;)
//========================= ==============
The psychology of learning, mentoring is considered the most effective learning technique. Simply, we the people in the vast majority learn by imitation - at least on the first levels of competence (see the Dreyfus model ).
0 comments:
Post a Comment