- ASP.NET Core 2 High Performance(Second Edition)
- James Singleton
- 409字
- 2021-07-08 09:39:00
Performance as a feature
You may have previously heard about the practice of treating performance as a first-class feature. Traditionally, performance (along with things such as security, availability, and uptime) was only considered a non-functional requirement (NFR) and usually had some arbitrary made-up metrics that needed to be fulfilled. You may have heard the term performant before. This is the quality of performing well and is often captured in requirements without quantification, providing very little value. It is better to avoid this sort of corporate jargon when corresponding with clients or users.
Using the outdated waterfall method of development, these NFRs were inevitably left until the end and dropped from an over budget and late project in order to get the functional requirements completed. This resulted in a substandard product that was unreliable, slow, and often insecure (as reliability and security are also often neglected NFRs). Think about how many times you're frustrated at software that lags behind in responding to your input. Perhaps, you used a ticket-vending machine or a self-service checkout that is unresponsive to the point of being unusable.
There is a better way. By treating performance as a feature and considering it at every stage of your agile development process, you can get users and customers to love your product. When software responds quicker than a user can perceive, it is a delight to use because it doesn't slow them down. When there is a noticeable lag, users need to adjust their behavior to wait for the machine instead of working at their own pace.
Computers have incredible amounts of processing power today, and they now possess many more resources than they did even just a few years ago. So, why do we still have software that is noticeably slow at responding when computers are so fast and can calculate much quicker than people can? The answer to this is poorly written software that does not consider performance. Why does this happen? The reason is that often the signs of poor performance are not visible in development, and they only appear when deployed. However, if you know what to look for, then you can avoid these problems before releasing your software to the production environment.
This book will show you how to write software that is a joy to use and never keeps the user waiting or uninformed. You will learn how to make products that users will love instead of products that frustrate them.
- OpenStack Cloud Computing Cookbook(Third Edition)
- 從零構(gòu)建知識圖譜:技術(shù)、方法與案例
- Apache ZooKeeper Essentials
- 在最好的年紀學(xué)Python:小學(xué)生趣味編程
- Kubernetes實戰(zhàn)
- arc42 by Example
- Ext JS Data-driven Application Design
- Developing Middleware in Java EE 8
- 算法精粹:經(jīng)典計算機科學(xué)問題的Python實現(xiàn)
- SQL Server 2016數(shù)據(jù)庫應(yīng)用與開發(fā)
- Keras深度學(xué)習(xí)實戰(zhàn)
- OpenCV 4計算機視覺項目實戰(zhàn)(原書第2版)
- Statistical Application Development with R and Python(Second Edition)
- UI設(shè)計全書(全彩)
- 區(qū)塊鏈國產(chǎn)化實踐指南:基于Fabric 2.0