当前位置:网站首页>[beauty of software engineering - column notes] "one question and one answer" issue 3 | 18 common software development problem-solving strategies
[beauty of software engineering - column notes] "one question and one answer" issue 3 | 18 common software development problem-solving strategies
2022-07-29 08:01:00 【if...else...】
List of articles
Column information
Columnist : The treasure jade
Column publishing platform : Geek time
primary coverage

One 、 One question and one answer
ask : Every time I look at the ideas of these architectures , It is always not well combined with the actual application , The reason is that the practice of architecture design is not enough ? Or there is too little analysis and thinking about various implementations ?
answer : I think it's not just about architecture practices , There are also practices in different scenarios .
For example , You usually do enterprise application architecture , There's no traffic , There's not much data , The complexity is all in business logic , At this time, you go to see the big data 、 Articles about high concurrency , It's hard to bring into the scene .
There are also some architectures , It's hard to understand the advantages and disadvantages of not doing it yourself , That's another reason .
Consider the opportunity to try it yourself , Build some good architectures with a prototype program , Make a little bit of data , Pressure test with a tool , This will make you feel more .
And practical application , On the one hand, your existing architecture may not be a big problem , There is no such urgent need to transform ; On the other hand, it may be due to the lack of practical experience , indecisive , I don't know if it really works .
ask : What are the more standardized documents , What are their functions ?
answer : For the waterfall model , At the end of each phase , There are corresponding acceptance documents , Agile development, on the other hand, doesn't have so many rigid requirements , It's based on the needs of the project , Write the necessary documentation .
I think the necessary documents in the project , It mainly includes these categories :
Design documents
This kind of document is mainly used to explain 、 Discuss requirements design 、 Architecture design , Can be used to understand 、 Discuss and review , And recording the follow-up results .
Description class document
This kind of document is used for specification 、API、 To configure 、 Operation, etc , Easy to standardize and unify .
Report class document
A report and explanation of the outcome of the event , For example, the acceptance report 、 Fault report 、 Research, etc .
And the value of these documents , It's about helping members understand the design 、 Participate in discussion , Record project results , Reduce communication costs . What matters is not how rich the documentation is , It's about whether these documents are valuable , Can you get the answers you want through these documents in time .
So you can also compare your project with , What are some aspects of the current document that can be simplified , Where to enhance .
for instance , Outline design / Interface design / Whether the detailed design can be combined properly , Reduce document workload ?PRD Is it detailed enough ? It's not easy to understand , Do you want to add a prototype design document ?
ask : Internet architecture , Consider the fast iteration speed of the Internet , So pay special attention to extension and so on . The enterprise architecture , Inside IT The system is relatively stable , Compare the Internet Architecture , It's simpler ?
answer : Good analysis . I'd like to add a few points for you : Not only will the Internet architecture iterate faster , The user scale is usually larger , But the business will be a little bit more ; Enterprise applications usually have complex business , In particular, there will be some combination with the industry , But the user scale is much smaller . These characteristics , Will affect the choice of Architecture Design .
ask : Is there a tool for managing things ? Because if you don't write it down , And then I forgot .
answer : Message area McCree The classmate recommended the tick list . My personal words , Usually use the notebook that comes with the system to record , Or stick a note on the monitor . If the time span is long , I remember Calendars On , Add a reminder . Tasks at work , I'll create it as Ticket.
ask : The case of checking production problems mentioned by the teacher , Rollback version first , Look at the log again . This will cause more system functions to be unavailable , If the functional difference between the two versions is not clear, roll back directly , Whether the system risk is further expanded ?
answer : This really depends on the specific situation , Because my daily system goes online , There will be rollback schemes , Rollback is also automated and convenient . Some are related to databases , If the database structure changes, new data will be generated , It's really impossible to rollback directly .
Two 、 Selected messages
In the absence of special requirements , More familiar technologies are preferred in the project , Because we need to be responsible for the quality and delivery time of the project , It can be controlled . And the new technology has new design ideas and powerful functions , At the same time, it is accompanied by unpredictable “ pit ”. In the time of subsequent product iterations , Targeted upgrade or choose to replace the better of similar technologies .
Technical debt is not all bad , Like financial debt , Need specific analysis . Frivolous & Intentional debt should be avoided . cautious & Intentional debt yields . Frivolous & Beware of unintentional debts . cautious & Unintentional debt to change . Identify debts and take precautions . According to the cost-benefit analysis , Decided to rewrite ( One time repayment )、 maintain ( Just pay interest ) Or refactoring ( hire purchase ). Related reading :24 | Technical debt : Is to continue to make do with , Or overthrow and start again ?
summary
Questions and answers and messages are long , Here is only a part of the excerpt .
边栏推荐
- Solving linear programming problems based on MATLAB
- "Swiss Army Knife" -nc in network tools
- Chapter contents of the romance of the Three Kingdoms
- Autojs微信研究:微信自动发送信息机器人最终成品(有效果演示)
- [paper reading] tomoalign: a novel approach to correcting sample motion and 3D CTF in cryoet
- [flask introduction series] installation and configuration of flask Sqlalchemy
- What is the use of chat robots? What type? After reading these, you will understand!
- Character shader exercise
- In the MySQL connector of flynk CDC, the MySQL field is varbinary, which is officially
- [dry goods memo] 50 kinds of Matplotlib scientific research paper drawing collection, including code implementation
猜你喜欢

佳木斯市场监管局开展防疫防虫害专题食品安全网络培训

Dynamic thresholds buffer management in a shared buffer packet switch paper summary

Ionicons icon Encyclopedia

Effective learning of medical image segmentation annotation based on noise pseudo tags and adversarial learning
黑盒测试常见错误类型说明及解决方法有哪些?

10 common software architecture modes

Unity beginner 4 - frame animation and protagonist attack (2D)

Convert source package to RPM package

Technology sharing | quick intercom integrated dispatching system

CentOS deploy PostgreSQL 13
随机推荐
Basic introduction to pod
Detailed explanation of the find command (the most common operation of operation and maintenance at the end of the article)
Day 014 二维数组练习
Keyboard processing in jetpack compose
FLink CDC 的mysql connector中,mysql的字段是varbinary, 官方
Useful websites
What are the common error types and solutions of black box testing?
Go, how to become a gopher, and find work related to go language in 7 days, Part 1
Realize the effect of changing some colors of a paragraph of text
CDM - code division multiplexing (easy to understand)
@Use of jsonserialize annotation
Output 1234 three digits without repetition
[deep learning] data preparation -pytorch custom image segmentation data set loading
Cyberpunk special effect shader
Jiamusi Market Supervision Bureau carried out special food safety network training on epidemic and insect prevention
Space shooting Lesson 17: game over (end)
Amaze UI icon query
Unity - default rendering pipeline - sculpt shader
C language data type
Dynamic thresholds buffer management in a shared buffer packet switch paper summary