当前位置:网站首页>How to do a good job in technology selection
How to do a good job in technology selection
2022-07-30 15:37:00 【HUAWEI CLOUD】

As for how to use a technical framework and what scenarios does it apply to, the author suggests that you can directly read the official or corresponding github documents, and if necessary, you can also read the source code of the following concerns, so that you can understand it correctly,It is very necessary. After all, the official release is relatively authoritative, and the information in other places may be one-sided, which may be misleading to everyone's use and understanding.
In the field of software development, new technical frameworks are born and updated almost every day, and some new concepts are emerging one after another.For technical selection, I personally have the following suggestions:
1. If there is a demand, re-introduce it
In today's rich language and technical architecture, there are many kinds of components/technologies, but it does not mean that all of them should be introduced into your project. If they are simply introduced to cover the entire technology stack or components, it will beA very unwise choice.The follow-up will become a burden to your project and make you miserable.
As long as you remember these six words: "If there is a demand, then introduce", it's OK.With the improvement of the project system architecture and function, when there is a certain demand, it is gradually considering whether to introduce some technical components.
2. Select the most familiar and used technology
"It's best not to use more than 30% of new technology in a new project", I think there is some truth to this sentence.For technologies that you do not know or understand at all, you cannot predict and control any risks that will arise during the use of them. Once a problem occurs and cannot be solved within a short period of time, you will become embarrassed.
This is not to say that we refuse to use and contact new technologies. New technologies are worth pursuing, understanding, and learning. Some new technologies can bring us unprecedented benefits to a large extent, which cannot be solved by other technical frameworks.The problem.The "new technology" mentioned here refers to the technology that has not been fully investigated, technically verified, and has various doubts, but is blindly used. Such risks can be imagined.
Ensure that the selected technology is the most widely used and recognized technology in the industry, so that even if there is a problem, it can be easily dealt with.At least on a small scale within the team is very recognized.
3. Technology supported by strong community
The number of stars on GitHub is an important indicator. At the same time, refer to the update frequency of codes, documents, issues, etc. in recent years, and whether major technology blogs have related technology sharing records, which can indicate whether the technology is active and popular., How many people are used, etc.
With the technology supported by the strong community, after the selection, if there are doubts, problems, bugs, etc., there is a place to mention, repair, and explore in depth. After all, the current technology community is open enough.
Carefully choose personal open source technical frameworks, components, etc., how many pits there are, few people can tell clearly, and maybe they will cease to exist someday.
4. Starting from business and project scale
The starting point of any technology is to serve the final business. Different businesses and different project scales have different requirements for technology.For a business in its initial stage, the benchmark for model selection is relatively flexible. After all, the business is relatively simple, and the supporting business is not very large, as long as it is sufficient and the development efficiency is high enough.Projects that are reconstructed in complex business need to be selected carefully, often accompanied by the birth of some complex requirements and the uncertainty of scale. It has to be considered that the selection technology may be accompanied by some minor repairs or spiral reconstruction., you need to select a technology that is easy to adapt, switch, and replace, and has a low degree of coupling.
Because technology selection is related to business, we can observe some obvious phenomena: new technologies are often used by early-stage entrepreneurial teams or emerging businesses of large companies; the core business of medium and large companies is more inclined to use some stableTechnology that has been in use for several years; if a company uses a technology for a long time, it will tend to use it forever, even without updating the version.
Learn to think from the business side.First of all, we need to fully understand the business, understand the needs of users, understand the primary problems that need to be solved at present, and what are the possible risks, and then decompose the goals to carry out specific technology selection, model design, and architecture design.
5. Use after verification
You must be cautious about the introduction of unproven new technologies and new concepts, and you must use them on a large scale after comprehensive verification, and finally determine the type selection.The emergence of new technologies and new ideas naturally has its temptations. Being cautious does not mean being conservative. Technology is always advancing. There is no problem in embracing changes. However, introducing immature technologies seems to bring short-term benefits.The risks or later costs may far outweigh the benefits.
After verification, it will be persuasive and use more assured.
Each technical architecture has its advantages and disadvantages, and it is reasonable to exist. Different application architectures and technical frameworks are used in different business scenarios. It does not necessarily mean that the latest architecture and technology are the most suitable for you.
边栏推荐
猜你喜欢

延时消息队列

关于mariadb/mysql的user表:密码正确但登录失败,可能与mysql的空用户有关

MongoDB starts an error Process: 29784 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)

Example of video switching playback (video switching example) code

哨兵
4位资深专家多年大厂经验分享出Flink技术内幕架构设计与实现原理

How is the B+ tree index page size determined?

canal scrape data

HTTP缓存小结

Kubernetes应用管理深度剖析
随机推荐
第十一章 api mgmnt API 参考
About the data synchronization delay of MySQL master-slave replication
vite 多页面应用刷新页面时,不会在当前路由中,会返回到根路由
71-page comprehensive overall solution for global tourism 2021 ppt
Flink实时仓库-DWS层(关键词搜索分析-自定义函数,窗口操作,FlinkSql设置水位线,保存数据到Clickhouse)模板代码
数字量输入模块io
Go to Tencent for an interview and let people turn left directly: I don't know idempotency!
ECCV2022 | FPN错位对齐,实现高效半监督目标检测 (PseCo)
视频加密的误解
How is the B+ tree index page size determined?
GeoServer + openlayers
【嵌入式】适用于Cortex-M3(STM32F10x)的IQmath库
微服务该如何拆分?
What is Ts?
In-depth analysis of Kubernetes application management
Could not acquire management access for administration
tiup install
工具| execsnoop 短时进程追踪工具
元宇宙的前景及四大赛道
Introduction to golang image processing library image