天下大事,必作于细

天下难事,必作于易,天下大事,必作于细。
  ----《老子》第六十三章

近来有了些与以往不同的开发经验,这些经验可用八个字来概括:天下大事,必作于细。

有很多的人习惯使用"差不多","将就将就"这类短语。
用于做人,这体现的是一种历史中沉淀出的智慧;
用于做产品,尤其是软件产品,这是致命的。

我所接触到的国内的程序员,有许多走的是一条通向“高手”的路子。
具体的特征是,你给我个啥事,我肯定能把它做出来。
只求做完,不求做好。所以虽然知识面广博,临场搏杀老练,前行勇猛,却未必能作出优秀的产品。

因为明显的收益,好多人恨不得在短时间内成为绝世高手。
其结果往往浮沙筑高台,虽巍巍雄壮,却终究耐不得推敲。

为把事情说得更清楚,这里我来看下面一个场景:

命题:请编写一个为50个字符串进行排序的函数。

大多数人看到这个命题,不会问什么,很快就有结果出来。

其完成的函数里面可能包含下面的代码段:

A:

int iRet=lstrcmp(..., ...);

B:

int iRet;

if( GetVersion() <0x80000000)
 iRet=strcmp(...,...);
else
 iRet=wcscmp(...,...);

C:

int iRet;

iRet=_tcscoll(..., ...);

因为有人在实现程序的时候不求甚解,那么出现这种“看上去能行“的程序就成为一种必然。
(我不知道究竟有多少人(包括高手)会走上面列出的这些路,我个人是没处理好,所以在这里检讨)

从技术角度看,这里的问题在于:

命题不清楚,应该提出质疑。

不清楚的点包括,按照什么样的规则进行排序,码序(character set order)还是字典序(lexicographic character order)、程序是否会在多种Locale下运行、需不需要支持Unicode等。

刚看到这个题目时,可能发现不了这些问题,但是当学习相应API的说明时,如果仍然没发现这些问题,那唯一的可能就是学习的时候就没搞太清楚,而后又想当然的认为某个API的行为就是如何如何。

有自己不清楚的问题没关系,没人能什么都预先知道。
重要的是如何面对这种以前自己不清楚的问题。
使用一个API的时候,有多少人是在完整的看完帮助文档,并把相关概念都弄清楚后才使用的呢。

这种状况可能和大环境有关。
当企业为生存所迫,就不得不关注短期目标,所以就需要快枪手。
当员工为短期目标所迫,就不得不囫囵吞枣,也就没时间把基础打扎实。

中国的程序员虽然生存不易,但终究要对自己负责。

没人能避免程序中出现错误,但每个人都应该努力不写“应该没问题“的代码。

最终的产品就像拦河大堤,修起来要千万人力,但毁起来,老鼠打打洞就足够了。

在中国人眼里,日本人做事方式并不高明,
但日本的企业确实取得了非常大的成功,一个根本原因就是日本人非常的重视细节。他们不习惯放过任何一个
细小的问题。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Zookeeper是一个分布式的协调服务,它主要用于配置管理、名字服务、提供分布式同步和集群管理等功能。配置管理可以帮助我们更好地管理系统的配置信息,而名字服务可以提供给分布式系统一个统一的命名空间。分布式同步是指协调多个节点之间的操作顺序,确保分布式系统的一致性。集群管理则是管理整个集群中的节点。 我们为什么需要这样的服务呢?分布式系统的开发和管理是一项复杂的任务,需要解决一系列的问题,如数据一致性、节点间的通信、故障恢复等。Zookeeper提供了一种简单而可靠的方式来处理这些问题,使得分布式系统的开发和管理变得更加容易。 为什么要使用Zookeeper来实现呢?使用Zookeeper有以下几个优势:首先,Zookeeper提供了高性能和低延迟的服务,可以满足分布式系统对协调服务的需求;其次,Zookeeper具有高可用性和容错性,即使在节点故障的情况下也能保持系统的稳定运行;最后,Zookeeper提供了强一致性的写入保证,可以确保多个写入操作的顺序性和一致性。 Zookeeper在许多开源系统中被广泛使用,例如Hadoop、HBase、Kafka等。这些系统利用Zookeeper的协调服务来管理集群的配置、协调节点间的通信以及实现分布式的数据一致性等功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Zookeeper-Zookeeper可以干什么](https://blog.csdn.net/xwnxwn/article/details/123456606)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ZooKeeper能做什么?](https://blog.csdn.net/wuhuayangs/article/details/122215152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值