惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
T
Troy Hunt's Blog
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
V
V2EX
I
InfoQ
量子位
Hugging Face - Blog
Hugging Face - Blog
The Register - Security
The Register - Security
J
Java Code Geeks
V
Visual Studio Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Security @ Cisco Blogs
爱范儿
爱范儿
Hacker News: Ask HN
Hacker News: Ask HN
Recent Commits to openclaw:main
Recent Commits to openclaw:main
B
Blog
Apple Machine Learning Research
Apple Machine Learning Research
V2EX - 技术
V2EX - 技术
罗磊的独立博客
S
Security Affairs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
IT之家
IT之家
O
OpenAI News
W
WeLiveSecurity
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
GbyAI
GbyAI
The Hacker News
The Hacker News
Attack and Defense Labs
Attack and Defense Labs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Microsoft Azure Blog
Microsoft Azure Blog
F
Fortinet All Blogs
Schneier on Security
Schneier on Security
雷峰网
雷峰网
Scott Helme
Scott Helme
B
Blog RSS Feed
有赞技术团队
有赞技术团队
Recent Announcements
Recent Announcements
L
LangChain Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
Help Net Security
Help Net Security
NISL@THU
NISL@THU
A
About on SuperTechFans
L
LINUX DO - 最新话题
博客园 - 司徒正美
博客园 - 聂微东
博客园 - 三生石上(FineUI控件)
Spread Privacy
Spread Privacy
P
Proofpoint News Feed

博客园 - 旴江老段

委托和事件的区别 如何开发和维能hold住全场的软件 SNOOP 开发WPF的好工具 被遗忘的事物 前台线程和后台线程(Foreground and Background Threads) runtime binding policy Checking space used in a database AsyncCallback方法和主线程怎么同步呢? Remoting Practice Sample Using Custom Assemblies with Reports 为什么32位的CPU?为什么32位的CPU只能支持4G的内存呢? 学习SSL和certificate的好网页 Wix Upgrade怎么判断是否更新 学WIX的好网站 SELECT @local_variable (Transact-SQL) sql server try catch and transaction的几个要点 使SQL关键字变大写的小工具 Assert.AreEqual .net 异步调用机制
什么样的软件才能hold住全场
旴江老段 · 2011-12-20 · via 博客园 - 旴江老段

什么样的软件才能hold住全场? 那必须是好的软件。那么我们首先要讨论什么是好的软件。

然后才能讨论如何开发和维护好的软件。 

那么,什么样的软件是好软件?不同的相关者,会有不同的答案。

首先,对客户来说,有几点,

  • 容易使用 

这个需要好的UI设计。

  • 反应快

反应快就是是性能好。这个需要好的算法,好的设计,和好的设备。

  • 稳定

什么样的代码会稳定?现在公司里面,经过各种测试,基本上就标志的这个软件产品比较稳定了。

 对于开发人员来说,软件设计是最重要的。

这个不同的颗粒会有不同想法。

从最小的颗粒,方法,大小适中的方法划分,很是必要。我们经常可以看到长度达几百行甚至一两千行的代码。这种代码总是让我们头疼。深这个大概包括,良好的接口和类设计。如果很长,而且没有注释,那就更糟糕了。当然我们说方法最小不是说没有更小的,当然还有更小的颗粒。只是我觉得有些规则,比如说命名规范,大概大部分人都知道。虽然我们工作中还是会碰到有些人写的ABC,123这样的变量名。还有语句不要写太长,写太长了,自己都晕了,对不。

  • 接口和类的设计。

对于这点,很多人都只注重技术,而不关注业务,我个人觉得,离开的对业务和系统的了解,接口和类设计只是空中楼阁。然后就是面向对象的概念。那些类的成员是封闭的,那些成员是开放的。每个类的注释是必须的。

  • 组件的设计

这里的组件的概念就是一个assembly, 或者solution里面的一个Project. 这里的设计我想主要是提供给调用者一套类,有些时候这些类可以画成很好的类图。组件就需要文档了,否则在大的项目里面,几百个组件,根本搞不清这些组件分别是干什么的。当需要开发一个新功能的时候,也根本不知道时候有现成的组件和类可以调用,导致很多不同的组件里面有相似的类。

  • 数据库的设计 

好的逻辑设计,严格的约束,保证数据的完整性。好的物理设计,索引,表的分割,以及好的硬件。这些的软件开发人员来说都是至关重要的。

最后别忘了老板, 没有老板的投资,很多软件都诞生不了。老板当然想要的就是挣钱的软件。对于老板来说,大概有几点,

  • 能按期完成的软件
  • 高的客户满意度
  • 可控的成本 

 作为一个工程师老板的角度就不多谈了,这里有些要求跟客户和工程师有矛盾,有些是没有矛盾的。

标题和开篇所说的全场,就是这三种不同的角色。必须三个角色都满意,这样的软件才能hold全场。 

 今天先写到这里,有时间再修改。下回再讲如何开发和维护好的软件。