重构——26以字面常量取代魔法数(Replace Magic Number with Symbolic Constant)

简介: 以字面常量取代魔法数(Replace Magic Number with Symbolic Constant):你有一个字面数值,带有特别含义:创造一个常量,根据其意义为它命名,并将上述的字面数值替换为这个常量

以字面常量取代魔法数(Replace Magic Number with Symbolic Constant)

你有一个字面数值,带有特别含义:创造一个常量,根据其意义为它命名,并将上述的字面数值替换为这个常量

一、动机

在计算机科学中,魔法数使历史最悠久的不良现象之一

二、做法

1、声明一个常量,令其值为原本的魔法数值

2、找出这个魔法数的所有引用点

3、检查是否可以使用这个新声明的常量来替换该魔法数。如果可以,便以此常量替换之

4、编译

5、所有魔法数都被替换完毕后,编译并测试。此时整个程序应该运转如常,就像没有做任何修改一样

目录
相关文章
|
3天前
|
存储 Java Linux
Java“Bad Magic Number”错误解决
Java“Bad Magic Number”错误通常发生在尝试运行不兼容或损坏的类文件时。解决方法包括确保使用正确的JDK版本、检查类文件完整性、清理和重新编译项目。
|
Linux
【Linux】关于Bad magic number in super-block 当尝试打开/dev/sda1 时找不到有效的文件系统超级块
【Linux】关于Bad magic number in super-block 当尝试打开/dev/sda1 时找不到有效的文件系统超级块
344 0
|
JavaScript Java Unix
vue 里怎么通过魔数(magic number)去限制上传文件类型?
vue 里怎么通过魔数(magic number)去限制上传文件类型?
490 0
vue 里怎么通过魔数(magic number)去限制上传文件类型?
Angular应用 vendor.js里的magic number 16384是什么含义
Angular应用 vendor.js里的magic number 16384是什么含义
131 0
Angular应用 vendor.js里的magic number 16384是什么含义
|
算法
Leetcode 313. Super Ugly Number
题目翻译成中文是『超级丑数』,啥叫丑数?丑数就是素因子只有2,3,5的数,7 14 21不是丑数,因为他们都有7这个素数。 这里的超级丑数只是对丑数的一个扩展,超级丑数的素因子不再仅限于2 3 5,而是由题目给定一个素数数组。与朴素丑数算法相比,只是将素因子变了而已,解法还是和朴素丑数一致的。
98 1
|
5月前
|
存储 SQL 算法
LeetCode 题目 65:有效数字(Valid Number)【python】
LeetCode 题目 65:有效数字(Valid Number)【python】
|
6月前
|
存储 算法
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
42 0
|
存储
Leetcode Single Number II (面试题推荐)
给你一个整数数组,每个元素出现了三次,但只有一个元素出现了一次,让你找出这个数,要求线性的时间复杂度,不使用额外空间。
38 0