How to take over a complex system ？
As a programmer , Whether it's a dish or an old bird , It will be due to various reasons such as resignation handover or job change , And can not avoid to be like antelope running version of the speed to take over a complex business system . Because the only way to get familiar with the system is as soon as possible , We can quickly support the R & D of business requirements .
So here's the problem , In the face of an unknown complex system , How can we start ？
This article will be combined with the vegetable students for many years （ the ） Lake （ Examination ）, The integration of traditional Chinese medicine and traditional Chinese medicine , Hematemesis is arranged into a potion and a picture , For everyone .
《 A good dose of medicine 》
「 chrysanthemum 」 Look at the document , Remember the doubts .
「 mint 」 String documents , Arrange the context .
「 Lotus heart 」 Talking about systems , You have to know who you are .
「 Lotus leaf 」 Smoothing code , The outline .
「 figwort 」 Experience , Lidaikeng .
「 Reed roots 」 Do it yourself , Dissect .
《 A picture 》
The first move ： Look at the document , Know the pulse .
The old doctor of traditional Chinese medicine ： at . A visit , It's the God of the patient 、 color 、 shape 、 state 、 To observe the tongue with purpose , To detect visceral lesions .
Vegetable students combine 「 A visit 」 And the original quick to take over a complex system Move 1 ： Look at the document , Know the pulse .
When a complex system is to be handed over to you , Ideally, all kinds of documents are complete , To what is what , And the reality is slapping . Most of the time there is no documentation , If there are some documents to look at , Whatever the quality , It's something to be thankful for .
If the project team is more standardized , Some introductory documents have been deposited 、 Product introduction document 、 Business architecture design document 、 Database design documents , That's even more fortunate , Calm down and look carefully , Through the documentation, we can learn more or less about the past and present life of some systems , Have a preliminary understanding of the system .
however , When a system takes over , Be sure to see where the documentation is ？ Is in Wiki On , Still SVN、Git On , If there is a document , Find it as soon as possible , And take a cursory look at .
After reading so many documents , There must be too many doubts , Take a small book and write it down , Make an opportunity for the old bird to answer your questions .
The second way ： Listen to the details , Talk about the whole situation .
The old doctor of traditional Chinese medicine ： smell . Olfactory examination , Mainly listen to the level of the patient's language breath 、 Strong and weak 、 Qingzhuo 、 urgency …… Wait for the change , In order to distinguish the deficiency and excess of the disease, cold and heat .
Vegetable students combine 「 Olfactory examination 」 And the original quick to take over a complex system Move 2 ： Listen to the details , Talk about the whole situation .
Take your little book full of doubts in advance , Set up a meeting , Call on the old bird and give you some advice .
First , Please give me a list of documents .
Let's have a rough idea , And then take the questions from your previous notebook , All of a sudden, I asked for advice in person .
then , Please tell me about the system .
We need to know who is the user of the system ？ What are the systems that the system depends on ？ Who are the main stakeholders of the system ？ Where does the demand for system development come from ？ The most important thing is to ask the old bird to demonstrate how to run the system ？ How to use the function after running ？
Last , Please stroke the code .
Sort out the design of the code , Learn about it. It's mainly divided into several big blocks ？ Where is the program entry ？ What a technology stack looks like ？... ...
The third way ： Ask questions , Miscellaneous diseases .
The old doctor of traditional Chinese medicine ： ask . Interrogation , By understanding past and family history 、 The cause of the disease is 、 The course and treatment of the disease , The main pain is , Conscious symptoms , Food likes and dislikes , Combined with hope 、 cut 、 Smell, smell and diagnose , Comprehensive analysis of , Make a judgment .
Vegetable students combine 「 Interrogation 」 And the original quick to take over a complex system Move 3 ： Ask questions , Miscellaneous diseases .
First , Ask the old bird ： The system to take over , What historical accidents have happened ？
In order not to have a second mistake , You need to know what system to take over , The historical accident is a code problem , It was caused by man-made disasters ？
Last , Ask the old bird ： The system to take over , Where is the pit ？
I'd like to know about the pits the old bird used to go through , The lesson of the former must be the teacher of the latter . Focus on understanding which parts of the system have potential problems , When you take over, you must pay attention to , Nip in the bud .
The fourth way ： Do it yourself , Dissect .
The old doctor of traditional Chinese medicine ： cut . Pulse cutting is also called pulse diagnosis , It's the doctor pressing his finger on the pulse of the posterior radial artery of his wrist , In order to observe the pulse changes , Distinguish the rise and fall of viscera function , A method of Qi, blood, fluid and essence deficiency .
Vegetable students combine 「 Have a close examination 」 And the original quick to take over a complex system Move 4 ： Do it yourself , Dissect .
Through the combination of the first three moves , We also looked at the document , The function of the system is also understood , We also know about historical accidents , Next, go to the area where programmers are best at —— Anatomy code .
First , add comments of explanations , Add key logs .
Find the program entry , According to my understanding , Add notes step by step , Dare to add , I can't be sure , If in doubt, mark with comments , Or a big question mark , Make notes of your ideas , Believe in the understanding of code , It's more thorough over and over again .
Of course , In addition to a way of annotating , It is also recommended to add key logs , Because of the key logs , But it's better to have some features in the diary , For example, there are also 「haha：」, This can be used in the case of complex sub module calls , After the project starts , According to the added log file , Direct attention 「haha：」 We can string the call processes of related subsystems together , To test that .
then , Running applications ,Debug.
Except for the notes , Add key logs to understand code logic ,Debug It's also a way to recommend , Start debugging step by step from the program entry , There will also be a qualitative understanding of the code .
Different people have different opinions , According to personal habits , It's better to add a log , Maybe it's because Debug Sometimes we encounter reflection or library calls , And then it's all over the place .
ad locum , It is suggested that the application should be run , It's just running , According to the log you added before , Sort out the system call relationship , Module call relation , Experience the experience function again .
Last , Draw a picture , Good at sharing .
Add log 、 add comments of explanations 、Debug Most irons have done it , But few people can really draw their own understanding of the code , I really recommend you to draw a picture when you are free , It's an improvement in the quality of code understanding , Only by drawing can we understand it more thoroughly , Clearer , If you write a manual about the process of the system in your spare time , I believe it's a lot for the colleagues who take over later “ Wealth ”.
Yes, of course , Besides drawing 、 It's not enough to write a manual , It's important to be able to get a few colleagues to share , Only in this way can we become our own knowledge more quickly , I can't help but throw a picture here .
in addition , Take over the systematic anatomy code and let's talk about it in the last part , The reason is that it really tests one's technical ability , And it's a long process , You need to grind it slowly .
A sincere message
This time mainly talks about how to quickly take over a system ？ A picture and a dose of Medicine recommended for hematemesis , If there's confusion about taking over the system , And when there's no better way , Then we can practice it , To test that .
It's a long way to go , Real life , Everyone's method is different , All roads lead to Rome , Choose what suits you . Running is the temperament of a dreamer , Define the value of life with struggle , In the run to reach the distance , Come on, irons .
Okay , Sharing is here , I hope it helps you . Let's talk about technology 、 On business 、 Spray Architecture , Little detours , Don't step on the pit . Will continue to output original wonderful sharing , Coming soon ！