zoukankan      html  css  js  c++  java
  • 好代码是如何炼成的

    在我看来,好代码的标准就是:简洁、清晰、自然。就像 1+1 = 2 一样,明白无误,没有任何形式的赘余。在简洁、清晰、自然的形式之下,还需要满足:可读、易理解、易用、易测试、健壮、性能、安全、稳定、可复用、可扩展、可伸缩、可定制、可移植、可追踪、可热升级、可运维、可互操作。

    有人说,天哪,要达到这种标准,简直是太难了! 的确,要写出好代码,并不比做出好的设计更容易。


    写出好代码,不仅仅关乎习惯和态度,更关乎对技术和设计的理解。我为什么不厌其烦地强调这一句?因为追求写出好代码,并不仅仅是图好看,更重要的是,是一种逻辑思维的训练,也是技术和设计精进的一种简单而有益的修行方式。试想,如果缺乏对技术和设计的足够深入的理解,如何能够达成如上好代码的目标? 写 Integer i = new Integer(10) 与 Integer i = Integer.valueOf(10) 有区别吗? 写 i / 2 与 i >> 1 有区别吗?

    软件技术发展到今天,很多很多手段,固然是为了解决各种实际问题,同时也是在不同场景下为了实现好代码的目标而诞生的。SDK 是为了实现日常编程任务的可复用;高级编程语言是为了实现可读、易理解、易用、可移植的目标;GC 是为了实现内存管理可复用和开发的高效;插件机制是为了实现可扩展、可定制目标;缓存是性能考虑;日志是为了可追踪;函数式编程是为了实现计算的可读性、易理解、易测试和并发环境下的安全、稳定、易理解;分布式架构是为了实现大规模计算场景下的可伸缩能力;云平台是为了实现可运维、热升级能力;JSON 数据格式是为了实现系统之间交互的可读、易用性、互操作性。


    软件技术包含两个方面:

    • 原理: 事物如何运作的基本规律和流程;
    • 设计: 大规模逻辑组织的艺术。

    代码表达,正是在设计的基础上的原理的实现形式;而技术,则是大规模逻辑在设计层面的重组。新瓶装旧酒。旧在哪里,新在哪里?形式在哪里?本质在哪里?传承在哪里?创新在哪里?这些都是值得思考的。

    代码是一个程序员的最主要的产出形式。从一个人写的代码里可以看出,这个人的技术功底的厚度、思考的深度和表达的张力。

    持续深入地思考和精炼逻辑的表达,就会思考更多的问题:它看上去更清晰直观了么?是否有潜在的性能或并发安全的问题?当发生变化时能有效应对么?思维能力和表达能力都会随之而进步。这并不仅仅只对开发工作有益处。


  • 相关阅读:
    install_bugzilla
    R610 & R710 网卡问题
    总结开发者在合作过程中的典型交流方式
    vnc报错 font catalog is not properly configured
    eclipse插件安装
    extjs 点击链接到另一个页面 并激活另一个页面的指定tab
    centos c++ 找不到头文件mysql.h
    升级struts 2
    oracle 删除用户报错
    mysql 创建用户及授权
  • 原文地址:https://www.cnblogs.com/lovesqcc/p/14773280.html
Copyright © 2011-2022 走看看