One of my most controversial point of view of software are: quality of your sleep and stress than you comply with the language and practice you use to the more important ...

Original link: Link

One of my most controversial point of view of software are: quality of your sleep and stress than you comply with the language and practice you use to the more important. Any other matter sorted out these two things are not compared to: the type of system can not, TDD nor formal software methods can not, nothing can be compared.

Let me explain why.

When it comes to any technology to improve software quality, I assure you: all technologies are able to find someone better say good some say. They may have a corresponding preacher, but the actual number of rigorous research and testing as well as case studies is to see a phenomenon that most of the technologies are still inconclusive.

Take the programming language: study we can not see the programming language code defects can be reduced by a large number of cases on github. Here is a report ( https://arxiv.org/pdf/1901.10220.pdf ).

Test Driven Development (TDD)? The results are also mixed. It may be to reduce defects and work ( http://www.sserg.org/publications/uploads/04b700e040d0cac8681ba3d039be87a56020dd41.pdf ). But this is simply not possible to reduce defects ( http://softwareprocess.es/pubs/borle2017EMSE-TDD.pdf ).

Code clean (Clean Code)? This may be able to bring some new features to the code, but it also may make it more difficult for Debug ( https://www.duo.uio.no/bitstream/handle/10852/51127/master.pdf?sequence=1 ).

According to the contract to design? I hope you can find a basis for doing so.

Code review (Code Review)? Right, this is really useful.

Now you might say that any of the studies are flawed, or research process there are too many uncertain factors, or whether the effect will only occur under different circumstances. So the conclusion is: Any technology found only in specific work scenarios, and this effect is very small.

Perhaps these technical effects are obvious and enormous, but our study does not work to some extent. Or it's just little success in the field of software engineering.

apart from:

Some things we know that it has a very huge impact in all areas.

For example: sleep.

Novice software developers 24 hours without sleep, and its development skills on the left half.

Long-term sleep less than seven hours can lead to a person's spirit in all tests, the scores dropped significantly.

Although people can not say specifically at what time the lack of sleep can lead to decreased ability.

The same work overload will be a huge side effects.

Less if you work 50 hours one week, then after 8-10 weeks, your output will work more than 40 hours a week of people.

Stress levels can also affect a person's productivity.

Happy developers solve problems faster speed.

These findings can be applied to any industries. The impact on health and the mood is even greater.

On the one hand, we have found a lot of research in many different areas: sleep, work intensity, stress levels can have a huge impact on competitiveness and productivity.

On the other hand, I have no evidence that these are ineffective or inconclusive.

For me, this is simply too praised. This helps us improve. Our most precious gift is the ability to think. Our limitation is not in use Rust Haskell language or languages, or use the Scrum or kanban, but because we lack of sleep and stress problems can withstand much of the burden.

There is no way, as important tools and languages ​​tell us spirit. If you want to write the code, first you have to be a healthy person. Others are not that important.

In addition to code review, code review really effective.

Reproduced in: https: //www.jianshu.com/p/a5bc1343ecdf

Guess you like

Origin blog.csdn.net/weixin_34242658/article/details/91146508