我们一起来读书吧 关注:157贴子:3,020
  • 0回复贴,共1

代码里的世界观10-12章读后感

只看楼主收藏回复

首先提到的是if..else语句,if...else 是编程中常用的条件控制语句,用于在满足某些条件时执行特定的代码块。在项目中使用 if...else 可以帮助我们根据条件来决定程序的执行流程。他的优点是很明显的
1. 明确性:if...else 语句提供了清晰的条件判断逻辑,使得代码易于理解和维护。
2. 灵活性:可以根据不同的条件执行不同的代码块,为程序提供了强大的分支处理能力。
3. 普适性:几乎所有编程语言都支持 if...else 结构,因此它非常通用。
⚠️注意,使用else if的时候要记得else场景
对于其缺点来说,首先是嵌套复杂性:当 if...else 语句嵌套过多时,代码会变得难以阅读和维护,这种情况通常被称为“箭头形”或“金字塔”代码。并且可扩展性差:随着条件的增加,if...else 语句可能变得非常冗长和复杂,不便于后续的修改和扩展。
那对于这种大量的if..else场景来说,有什么好的结局方式呢?
1. 使用查找表(Lookup Table)或映射(Map):
* 对于多个固定的输入和对应的输出,可以使用查找表或映射来代替多个 if...else 语句,从而提高代码的可读性和可维护性。
2. 策略模式:
* 策略模式允许在运行时根据上下文选择算法的行为。通过将每个条件分支的逻辑封装到一个独立的类中,可以减少 if...else 的使用,并提高代码的可扩展性。
3. 状态模式:
* 当对象的状态改变时,其行为也随之改变。通过将不同状态下的行为封装到独立的类中,可以减少复杂的 if...else 结构。
4. 使用多态:
* 如果条件判断涉及到对象的类型,可以使用多态来替代 if...else。通过定义接口和子类,并在子类中实现特定的行为,可以消除类型检查的需要。
5. 简化逻辑:
* 仔细检查 if...else 语句中的条件,看是否有冗余或可以简化的部分。有时通过重新组织代码或引入新的变量,可以简化复杂的条件判断。
6. 提取方法:
* 将复杂的 if...else 语句块中的代码提取到独立的方法中,这样可以提高代码的可读性和可重用性。
7. 使用switch语句(如果语言支持):
* 在某些情况下,使用 switch 语句可能比 if...else 更清晰,尤其是当条件是基于枚举或几个固定的值时。
第二点就是static,对于java来说static声明的变量或方法属于类级别,不需要创建对象就可以直接使用,这提供了全局访问的便利性。并且其在内存中只存在一份,因此可以唯一标识某些状态或数据,便于进行全局状态的管理和共享。由于static成员在类加载时就已经初始化,并且常驻内存,因此调用起来非常快捷方便。但同时,静态方法不能调用非静态的方法和变量,这在一定程度上限制了其灵活性。同时,静态方法中不能使用this和super关键字,因为它不属于任何一个对象实例。并且由于静态成员在程序运行期间一直存在,不会被垃圾回收机制回收,因此会常驻内存。这可能导致不必要的内存占用,特别是当静态成员较大或数量较多时。


IP属地:北京来自iPhone客户端1楼2024-06-03 18:52回复