代码之道,德,义,礼

举报
eagle 发表于 2019/12/20 19:54:52 2019/12/20
【摘要】 夫道、德、仁、义、礼,五者一体也。道者,人之所蹈,使万物不知其所由。德者,人之所得,使万物各得其所欲。仁者,人之所亲,有慈惠恻隐之心,以遂其生成。义者,人之所宜,赏善罚恶,以立功立事。礼者,人之所履,夙兴夜寐,以成人伦之序。夫欲为人之本,不可无一焉。贤人君子,明于盛衰之道,通乎成败之数,审乎治乱之势,达乎去就之理。故潜居抱道,以待其时。若时至而行,则能极人臣之位;得机而动,则能成绝代之功。如...

夫道、德、仁、义、礼,五者一体也。道者,人之所蹈,使万物不知其所由。德者,人之所得,使万物各得其所欲。仁者,人之所亲,有慈惠恻隐之心,以遂其生成。义者,人之所宜,赏善罚恶,以立功立事。礼者,人之所履,夙兴夜寐,以成人伦之序。夫欲为人之本,不可无一焉。
贤人君子,明于盛衰之道,通乎成败之数,审乎治乱之势,达乎去就之理。故潜居抱道,以待其时。若时至而行,则能极人臣之位;得机而动,则能成绝代之功。如其不遇,没身而已。是以其道足高,而名重于后代。
-- 《素书 . 原始章》

近日整理代码评估框架,偶然发现代码与为人何其相似。

我将代码评估分架构(逻辑)、白盒测试防护、安全和漏洞类规范(编码规范中安全方面)、风格类规范(编码规范中排版、命名等方面)四层。

代码架构为代码之道
道者,人之所蹈,使万物不知其所由。王氏曰:“天有昼夜,岁分四时。春和、夏热、秋凉、冬寒;日月往来,生长万物,是天理自然之道。容纳百川,不择净秽。春生、夏长、秋盛、冬衰,万物荣枯各得所宜,是地利自然之道。” 代码逻辑架构合理,易读易改,可靠稳定,高效安全是代码之道。

白盒测试防护为代码之德
德者,人之所得,使万物各得其所欲。注曰:“有求之谓欲,欲而不得,非德之至。” 王氏曰:“阴阳、寒暑运在四时,风雨顺序,润滋万物,是天之德也。天地草木,各得所产,飞禽、走兽,各安其居;山川万物,各遂其性,是地之德也。安居养性,正心修身,忠于君主,孝于父母,诚信于朋友是人之德也。” 有效的白盒测试防护促进代码架构合理重构优化,使代码更易读易改,提升软件质量,降低维护成本,让客户放心使用、研发人员省心维护,是代码之德。

安全和漏洞类规范为代码之义
义者,人之所宜,赏善罚恶,以立功立事。注曰:“理之所在,谓之义;顺理决断,所以行义。赏善罚恶,义之理也;立功立事,义之断也。” 通俗理解,“义”指的是必须遵守的规范、规则。 安全和漏洞类编码,关系产品可信,关系客户信任,必须遵守,是为代码之义。

风格类规范为代码之礼
礼者,人之所履,夙兴夜寐,以成人伦之序。注曰:“礼,履也。朝夕之所履践而不失其序者,皆礼也。” 王氏曰:“大抵事君,奉亲,必当进退;承应内外,尊卑须要谦让。恭敬侍奉之礼,昼夜勿怠,可成人伦之序。”风格类规范,似礼仪规范,统一风格,统一步调,成代码之序,是为代码之礼。


几个观点:
(1)失道而后德,失德面后仁,失仁而后义,失义而后礼
“上德不德,是以有德;下德不失德,是以无德。上德无为而无以为;下德无为而有以为。上仁为之而无以为;上义为之而有以为。上礼为之而莫之应,则攘臂而扔之。故失道而后德,失德面后仁,失仁而后义,失义而后礼。夫礼者,忠信之薄,而乱之首。前识者,道之华,而愚之始。是以大丈夫处其厚,不居其薄;处其实,不居其华。故去彼取此。”
-- 《道德经 . 第三十八章》
重要先后顺序依次为道、德、义、礼,切莫舍本求末。

(2)道可道,非常道
“道可道也,非恒道也。名可名也,非恒名也。无名,万物之始也;有名,万物之母也。故恒无欲也,以观其眇;恒有欲也,以观其所徼。两者同出,异名同谓。玄之又玄,众眇之门。”
-- 《道德经 . 第一章》
因为道难以道,所以就更难以度量。虽然代码需要有效度量,业界也有度量架构的实践和工具(关于代码质量度量指标),但那非常道。不可全信,不可强应用。

(3)道法自然
“有物混成,先天地生。寂兮寥兮,独立而不改,周行而不殆,可以为天地母。吾不知其名,强字之曰:道,强为之名曰:大。大曰逝,逝曰远,远曰反。故道大,天大,地大,人亦大。域中有四大,而人居其一焉。人法地,地法天,天法道,道法自然。”
-- 《道德经 . 第二十五章》
正确的废话:尊重代码的客观规律。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。