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

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

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

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

一、动机

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

二、做法

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

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

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

4、编译

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

目录
相关文章
|
Linux
【Linux】关于Bad magic number in super-block 当尝试打开/dev/sda1 时找不到有效的文件系统超级块
【Linux】关于Bad magic number in super-block 当尝试打开/dev/sda1 时找不到有效的文件系统超级块
267 0
|
JavaScript Java Unix
vue 里怎么通过魔数(magic number)去限制上传文件类型?
vue 里怎么通过魔数(magic number)去限制上传文件类型?
464 0
vue 里怎么通过魔数(magic number)去限制上传文件类型?
Angular应用 vendor.js里的magic number 16384是什么含义
Angular应用 vendor.js里的magic number 16384是什么含义
128 0
Angular应用 vendor.js里的magic number 16384是什么含义
|
10月前
|
算法
Leetcode 313. Super Ugly Number
题目翻译成中文是『超级丑数』,啥叫丑数?丑数就是素因子只有2,3,5的数,7 14 21不是丑数,因为他们都有7这个素数。 这里的超级丑数只是对丑数的一个扩展,超级丑数的素因子不再仅限于2 3 5,而是由题目给定一个素数数组。与朴素丑数算法相比,只是将素因子变了而已,解法还是和朴素丑数一致的。
90 1
|
3月前
|
存储 SQL 算法
LeetCode 题目 65:有效数字(Valid Number)【python】
LeetCode 题目 65:有效数字(Valid Number)【python】
|
4月前
|
存储 算法
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
36 0
|
10月前
|
存储
Leetcode Single Number II (面试题推荐)
给你一个整数数组,每个元素出现了三次,但只有一个元素出现了一次,让你找出这个数,要求线性的时间复杂度,不使用额外空间。
34 0
|
算法
LeetCode 414. Third Maximum Number
给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。
87 0
LeetCode 414. Third Maximum Number