DRY原则的一个简单实践

原文出处:https://dzone.com/articles/dry-dont-repeat-yourself

 

我们之前就发过一篇相关的文章:https://www.cnblogs.com/powertoolsteam/p/12758496.html 其中也提到了包括DRY在内的一些软件开发的原则。

DRY 是软件开发的原则之一,其目的主要是为了避免代码重复,指导开发者尽量以抽象的思维去解决重复,基本上是,当您发现自己一遍又一遍地编写相同的代码时,可能会有更好的方法。 

实际案例

让我们先看一个例子,看看这个例子是否可以改进,以及如何通过重构来避免代码重复。

这里有一个简单的Report类,该类接收一些数据并通过控制台以格式化的方式直接输出。

我们这里使用php的一个代码片段来举例,相信大家对代码的结构和想要完成的工作都不难理解,所以为了大家更容易理解,我只对一些下面用到的php函数定义做一个解释:

echo()  函数输出一个或多个字符串

ucwords()函数把字符串中每个单词的首字符转换为大写。

strtolower() 函数把字符串转换为小写。

file_put_contents() 函数把一个字符串写入文件中。

floor() 函数向下舍入为最接近的整数。

class Report { public function show(array $data) { echo "Report: " . ucwords(strtolower($data["name"])) . "\n"; echo "Product: " . ucwords(strtolower($data["product"])) . "\n"; echo "Start date: " . date("Y/m/d", $data["startDate"]) . "\n"; echo "End date: " . date("Y/m/d", $data["endDate"]) . "\n"; echo "Total: " . $data["total"] . "\n"; echo "Average x day: " . floor($data["total"] / 365) . "\n"; echo "Average x week: " . floor($data["total"] / 52) . "\n"; } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpdgjw.html