优雅的代码从现在开始

个人见解:

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

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

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

核心原则:

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

通过变量明白意图

参数为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)

大家都在看

  • Class文件结构分析

    概述 在Java语言中,Java虚拟机只能理解 字节码( class文&#x4EF6…

    数据库 2023年6月11日
    081
  • 2010最危险的编程错误(转)

    网络无处不在的今天,安全问题日益严峻,攻击事件层出不穷,应该说,软件系统中代码存在安全漏洞是主要的祸因之一。而这实际上反映了软件开发人员在编程的安全性方面缺乏必要的培训和常识。 由…

    数据库 2023年6月11日
    0105
  • Pisa-Proxy SQL 解析之 Lex & Yacc

    一、前言 1.1 作者介绍 王波,SphereEx MeshLab 研发工程师,目前专注于 Database Mesh,Cloud Native 的研发。Linux,llvm,ya…

    数据库 2023年6月16日
    0113
  • Redisson

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

    数据库 2023年6月6日
    093
  • 一元二次方程

    通过分析古巴比伦泥板上的代数问题,可以发现在公元前2250年古巴比伦人就已经掌握了与求解一元二次方程相关的代数学知识,并将之应用于解决有关矩形面积和边的问题。 [2] 相关的算法可…

    数据库 2023年6月11日
    099
  • [LeetCode]21. 合并两个有序链表

    将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4输出:1-&…

    数据库 2023年6月9日
    099
  • MySQL启动过程详解二:核心模块启动 init_server_components()

    mysqld_main() 函数中,init_server_components() 函数负责MySQL核心模块的启动,包括mdl系统,Innodb存储引擎的启动等等: mdl子系…

    数据库 2023年6月9日
    095
  • JAVA oa 办公系统模块 设计方案

    1.模型管理 :web在线流程设计器、预览流程xml、导出xml、部署流程 2.流程管理 :导入导出流程资源文件、查看流程图、根据流程实例反射出流程模型、激活挂起 、自由跳转 3….

    数据库 2023年6月6日
    090
  • Mysql 连续时间分组

    该方案不限于本例的连续时间,还可以应用于其他连续组。 [En] The scheme is not limited to the continuous time of this e…

    数据库 2023年5月24日
    081
  • 2018年最新JAVA面试题总结之JavaWeb(2)

    转自于:https://zhuanlan.zhihu.com/p/39522575 1、tomcat的优化方式?回答:Tomcat的优化我准备从三方面来说: 第一部分: 内存优化T…

    数据库 2023年6月16日
    093
  • 并发编程学习

    Semaphore Semaphore 可以允许多个线程访问一个临界区。 应用:实现线程池 CountDownLatch 应用: 业务原始状态:一个线程执行查询订单,查询派送单,对…

    数据库 2023年6月16日
    0101
  • 2022-8-24 js

    JavaScript脚本语言,解释性 主要给HTML网页&#x…

    数据库 2023年6月14日
    088
  • 阿里云智能客服机器人,自定义函数调用配置

    说明:也是没有段子的一天…..在没有段子的日子里….我们来研究下阿里云的客服机器人…. 一、功能调查 官网地址:https://help.ali…

    数据库 2023年6月6日
    0131
  • 4_Spring

    Spring的基本组成: 1、最完善的轻量级核心框架。 2、通用的事务管理抽象层。 3、JDBC抽象层。 4、集成了Toplink, Hibernate, JDO, and iBA…

    数据库 2023年6月11日
    078
  • Nginx平滑升级版本

    Nginx平滑升级版本 一, 查看现目前版本,准备预升级版本的安装包 #查看nginx版本 /usr/local/nginx/sbin/nginx -v #测试nginx访问是否正…

    数据库 2023年6月11日
    090
  • boot issue

    Q:生产过程中不小心把 boot文件删除了 ,或者升级kenerl时发现版本不兼容,需要回退,此时没有快照备份情况如何操作? A:boot 主要文件是内核和grub引导文件 1.进…

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