当前位置:网站首页>[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 .
边栏推荐
- "Swiss Army Knife" -nc in network tools
- Go 事,如何成为一个Gopher ,并在7天找到 Go 语言相关工作,第1篇
- Technology sharing | quick intercom integrated dispatching system
- Redshift 2.6.41 for maya2018 watermark removal
- Vmstat memory consumption query
- Mqtt server setup and mqtt.fx testing
- What are the common error types and solutions of black box testing?
- Rotation in model space and rotation in world space
- 10 common software architecture modes
- Ue4/ue5 C disk enlargement processing
猜你喜欢

(视频+图文)机器学习入门系列-第5章 机器学习实践
![[paper reading | cryoet] gum net: fast and accurate 3D subtomo image alignment and average unsupervised geometric matching](/img/dc/255bf122d5243f2a08ca0e03b53137.png)
[paper reading | cryoet] gum net: fast and accurate 3D subtomo image alignment and average unsupervised geometric matching

How to connect VMware virtual machine to external network under physical machine win10 system
![[deep learning] data preparation -pytorch custom image segmentation data set loading](/img/7d/61be445febc140027b5d9d16db8d2e.png)
[deep learning] data preparation -pytorch custom image segmentation data set loading

Go, how to become a gopher, and find work related to go language in 7 days, Part 1

Implementation of simple cubecap+fresnel shader in unity

C language data type

Unity - default rendering pipeline - sculpt shader

Go 事,如何成为一个Gopher ,并在7天找到 Go 语言相关工作,第1篇

Qt/PyQt 窗口类型与窗口标志
随机推荐
207. Curriculum
Explanation and closing method of server 135, 137, 138, 139, 445 and other ports
[cryoelectron microscope | paper reading] emclarity: software for high-resolution cryoelectron tomography and sub fault averaging
Beautiful girls
After the access database introduces DataGridView data, an error is displayed
[paper reading] tomoalign: a novel approach to correcting sample motion and 3D CTF in cryoet
Database persistence +jdbc database connection
CDM - code division multiplexing (easy to understand)
Useful websites
Operator overloading
Phased learning about the entry-level application of SQL Server statements - necessary for job hunting (I)
The database uses PSQL and JDBC to connect remotely and disconnect automatically from time to time
Analyze the roadmap of 25 major DFI protocols and predict the seven major trends in the future of DFI
What are the principles and methods of implementing functional automation testing?
Unity beginner 2 - tile making and world interaction (2D)
[lecture notes] how to do in-depth learning in poor data?
Unicode私人使用区域(Private Use Areas)
330. Complete the array as required
For the application challenge of smart city, shengteng AI gives a new solution
[freeze electron microscope] analysis of the source code of the subtomogram alignment function of relion4.0 (for self use)