28、代码之美:设计的长期效益与Linux内核驱动模型

代码之美:设计的长期效益与Linux内核驱动模型

1. 代码之美的标准

在代码的世界里,美不仅仅是表面的简洁,更体现在多个关键维度上。

1.1 简洁之美

简洁的代码往往具有更高的可读性和可维护性。以SGBSV例程为例,它以快速验证输入参数的一致性开始,然后通过两次调用逻辑上遵循数学算法的操作来解决问题。从第一眼就能清晰看出代码的功能:先使用SGBTRF例程进行LU分解,再使用SGBTRS例程求解系统。这种代码易于阅读,无需花费大量时间研究数百行代码来理解其功能。

代码复用是简洁代码的重要体现。SGBSV例程中的子系统例程在不同的“驱动”例程中被复用,形成了一个分层系统,鼓励代码复用。代码复用显著减少了代码开发、测试和维护所需的工作量,提高了开发人员的生产力,降低了压力。然而,当前很多代码在这方面存在不足。许多代码采用继承结构,本意是使代码更清晰,但实际情况是,开发者花费大量时间也难以理解代码的意图。如果通过命名约定和几行代码无法判断代码的功能,那么代码就过于复杂了。

1.2 节俭之美

美丽的代码会充分考虑计算机的实际限制,如有限的速度、对浮点数或整数的不同处理能力以及有限的内存。以LU分解子例程SGBTRF为例,它首先进行参数验证,然后进行优化检查,根据问题大小决定是在“缓存”数组WORK13和WORK31中解决问题,还是将其发送到更低级别进行更复杂的操作。这种设计充分考虑了计算机的内存限制,对于较小的问题可以避免可能的分页带来的性能损失。

SUBROUTINE SGBTRF( M, N, KL, KU, AB, LDAB, IP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值