热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

无用之用——论代码规范

陶瓷出现后,第一个在陶瓷上雕刻花纹的人,可以说是费时费力地做了一件无用之事,然而这却算得上是文明史上的里程碑。代码的规范、注释就像是陶瓷上的花纹,具有“无用之用”。陶瓷的花纹是

      陶瓷出现后,第一个在陶瓷上雕刻花纹的人,可以说是费时费力地做了一件无用之事,然而这却算得上是文明史上的里程碑。代码的规范、注释就像是陶瓷上的花纹,具有“无用之用”。
      陶瓷的花纹是文明和艺术的标志,代码的规范则是合作和传承。人是有个性的,超过两个人就会有立场,有分歧,在这一前提下,求同存异、同心同德,是为合作。合则求同,有了规范,书同文,车同轨,程序员之间才可以相互理解、高效合作。也正是有了规范,知识才得以传承,后来人才能充分理解前人的基础,秉承其思想继往开来。不写注释的程序,过了一段时间自己看都费解,又怎能要求同事和后来者高效准确理解呢?创造晦涩难懂的东西的人也许聪明却算不上智慧,深入浅出才是一门学门。
      规范一个不可避免的副作用就是泯灭个性,然而这种对个人的限制较之团体的得益是微不足道的。不免有人质疑:这样思考太不人道了!然而软件开发是工程,不是艺术。艺术大多靠的是艺术家个人穷其一生不计成本地付出奉献,工程则需要一群人团结协作互相协调。说白了,工程于集体是要获利的,于个人是要糊口的,因此要协调和妥协出一套规范,若是个人有艺术家那样奉献的热忱,便是脱离团队,孤身一人,穷极一生也是可以的。
     在我看来,“代码该不该有规范”这个问题的答案是由编程者对于“编程是不是工作”这个问题的回答决定的。如果编程还是有工作的成分的话,与其争论该不该有规范,还不如好好敲定一套规范为是。


推荐阅读
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • 作为一名程序员,从大学步入职场后,常常感受到一种难以言喻的空虚感。这种感觉或许源于对生活的不满、职业发展的瓶颈,或是日常琐事带来的压力。本文将深入探讨这种复杂的情感,并尝试寻找解决之道。 ... [详细]
  • 深入解析:阿里实战 SpringCloud 微服务架构与应用
    本文将详细介绍 SpringCloud 在微服务架构中的应用,涵盖入门、实战和案例分析。通过丰富的代码示例和实际项目经验,帮助读者全面掌握 SpringCloud 的核心技术和最佳实践。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 深入理解Spring:Aware接口、异步编程与计划任务
    本文将带你深入了解Spring框架中的 Aware 接口、异步编程以及计划任务。通过具体示例和详细解释,帮助你掌握这些核心功能的实现原理和应用场景。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • PHP插件机制的实现方案解析
    本文深入探讨了PHP中插件机制的设计与实现,旨在分享一种可行的实现方式,并邀请读者共同讨论和优化。该方案不仅涵盖了插件机制的基本概念,还详细描述了如何在实际项目中应用。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Søren Kierkegaard famously stated that life can only be understood in retrospect but must be lived moving forward. This perspective delves into the intricate relationship between our lived experiences and our reflections on them. ... [详细]
  • PyCharm中配置Pylint静态代码分析工具
    本文详细介绍如何在PyCharm中配置和使用Pylint,帮助开发者进行静态代码检查,确保代码符合PEP8规范,提高代码质量。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 解决Linux系统中pygraphviz安装问题
    本文探讨了在Linux环境下安装pygraphviz时遇到的常见问题,并提供了详细的解决方案和最佳实践。 ... [详细]
author-avatar
mobiledu2502902687
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有