优雅的代码从现在开始

个人见解:

  • 写代码前 构思明白, 明白,想全
  • 写着写着都是在写相同的代码,改动麻烦
  • 看到不好的就立马让他优雅
  • 学习别人是如何优雅的

便于维护,避免重复代码,便于开发

  • 提取公共函数
  • 创建常量,枚举

核心原则:

  • 见名知意,你懂我懂大家懂
  • 适当选取长短
  • 不死板,灵活

通过变量明白意图

参数为Boolean的函数

  • 单一职责
  • 公共代码很多可以写在一起
  • 简单逻辑不用拆成函数

  • is 是否 是否存在

  • has 有/没有 有没有票
  • can 能/不能 能否预定
  • should 需要/不需要 需要修改

类–名词

x+动词

普通方法和工具类

x+动词+名词

  • 从数据结构获取:get
  • 通过计算获取:calculate/cal
  • 数据库获取:find/query
  • 从配置文件获取:load/parse/build
  • 从网络获取:fetch

当我们需要去为某一块添加复杂的注释时,我们可以将它抽取成函数

Original: https://www.cnblogs.com/lcjtt/p/16656663.html
Author: ZWLD
Title: 优雅的代码从现在开始

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/598914/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MySQL实战45讲 9

    09 | 普通索引和唯一索引,应该怎么选择? 每个人都有一个唯一的身份证号,而且业务代码已经保证了不会写入两个重复的身份证号。如果市民系统需要按照身份证号查姓名,就会执行类似这样的…

    数据库 2023年6月16日
    0102
  • 设计模式——单例模式

    引言 今天来谈谈设计模式中的单例模式,温故知新,以免生疏。 软件设计领域的四位世界级大师Gang Of Four (GoF):Erich Gamma,Richard Helm,Ra…

    数据库 2023年6月16日
    089
  • 函数式编程-Stream流

    函数式编程-Stream流 1. 概述 1.1 为什么学? 能够看懂公司里的代码 大数量下处理集合效率高 代码可读性高 消灭嵌套地狱 //查询未成年作家的评分在70以上的书籍 由于…

    数据库 2023年6月6日
    073
  • 重构

    参数过长 影响: 方法不易被理解、使用,方法签名容易不稳定,不易维护 解决方法:反复使用提炼方法+内联方法,消除多余参数 ​ 尽量把方法移进相关的类中 ​ 如实体类中的get方法在…

    数据库 2023年6月16日
    0194
  • Go语言常见的并发模式

    Go语言常见的并发模式 并发不是并行 并发关注的是程序的设计层面,并发的程序也可以顺序执行,在多核CPU上才可能真正同时的运行,并行关注的是程序的运行层面,如GPU中对图像处理都会…

    数据库 2023年6月16日
    067
  • 解决Tomcat部署工件中无子模块的工件

    本文是在尝试了刷新Maven项目、clean了Maven缓存并且重启IDEA之后任然无法在Tomcat中找到子模块对应的工件,这时就要试着模仿着自己创建一个模块父类的pom.xml…

    数据库 2023年6月16日
    073
  • 6_SSM

    一. ssm整合 1.1 项目创建 1.1.1 创建Maven项目 创建一个普通的Maven-web项目,名称为ssm 记得勾选上Create from archetype然后选择…

    数据库 2023年6月11日
    066
  • springboot~Screw生成数据库文档

    数据库说明文档,在我们开发项目时是非常必要的,有时项目交付时,客户也是需要让我们提供的,而如果人工编写,比如耗时,通过screw组件来生成文档,非常方便。 源代码和使用:https…

    数据库 2023年6月6日
    089
  • 数据库基础,看完这篇就够了!

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月11日
    082
  • Redisson

    ​ Redisson是架设在Redis基础上的一个Java驻内存数据网格(In-Memory Data Grid)。充分的利用了Redis键值数据库提供的一系列优势,基于Java实…

    数据库 2023年6月6日
    084
  • 【StoneDB】产品FAQ

    StoneDB与MySQL的兼容性如何?StoneDB高度兼容MySQL 5.6、5.7协议和MySQL生态等重要特性,支持MySQL常用的功能及语法。由于StoneDB本身的一些…

    数据库 2023年5月24日
    072
  • 7、定时进行数据批处理任务

    一、StopWatch时间控制类: StopWatch 是spring工具包org.springframework.util下的一个工具类,主要用于计算同步 单线程执行时间。 1、…

    数据库 2023年6月6日
    087
  • go context详解

    Context通常被称为上下文,在go中,理解为goroutine的运行状态、现场,存在上下层goroutine context的传递,上层goroutine会把context传递…

    数据库 2023年6月9日
    093
  • Java中的线程安全与线程同步

    1.为什么需要线程同步 什么是线程安全:指在 被多个线程访问时,程序可以 持续进行正确的处理。 1.1.线程安全问题 案例:通过抢优惠例子说明线程安全问题 public class…

    数据库 2023年6月6日
    077
  • 工具 | 如何对 MySQL 进行 TPC-C 测试?

    作者:丁源 RadonDB 测试负责人负责 RadonDB 云数据库、容器化数据库的质量性能测试,迭代验证。对包括云数据库以及容器化数据库性能和高可用方案有深入研究。 |背景 根据…

    数据库 2023年5月24日
    091
  • MySQL MHA 运行状态监控

    一 项目描述 1.1 背景 MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failo…

    数据库 2023年6月16日
    098
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球