摘要: 可复用性是软件构造关注的一大编程属性。通过复用已有的代码、模块或框架,可以显著降低软件的成本与开发时间,提高代码的可靠性和稳定性。而委派,无疑是一种重要的复用机制。 委派,顾名思义,指的是一个对象不自己实现某种功能,而是将这个功能委托给另一个对象来实现。为什么使用委派?因为相比于另一种复用的方式—— 阅读全文
posted @ 2022-06-13 22:26 hit666 阅读(78) 评论(0) 推荐(0)
摘要: 在实验二中,我尝试用“==”判断两个字符串是否相等,结果测试用例始终无法通过。通过后续的学习,我才渐渐了解了java中等价性判断的原则。 在java中,“==”针对的是引用等价性。对于基本数据类型,如int、double等,应使用“==”判断是否相等。而对于对象类型,“==”判断的是两个对象是否是在 阅读全文
posted @ 2022-06-12 22:22 hit666 阅读(81) 评论(0) 推荐(0)
摘要: Spec,即specification,是java方法前的规约。Spec由前置条件和后置条件组成,前置条件规定了客户端的输入应满足什么条件,后置条件规定了程序员方法的返回应满足什么条件。 在学习软件构造这门课程前,我的方法前边很少写spec,偶尔会写上注释,但其格式往往也不太规范。渐渐的,我尝到这样 阅读全文
posted @ 2022-06-10 17:24 hit666 阅读(199) 评论(0) 推荐(0)
摘要: ADT,意为抽象数据类型,可由程序员自己定义。以往书写代码,我都没有考虑模块的封装性和复用性,往往图省事而轻易地将类的内部信息全暴露给客户端,殊不知这样草率的做法可能会给程序带来潜在的bug。而现在,ADT无疑是解决这种麻烦的一大利器。 传统的类型定义往往关注数据的具体表示,而ADT强调的是“作用于 阅读全文
posted @ 2022-06-07 22:47 hit666 阅读(78) 评论(0) 推荐(0)
摘要: 作为编程小白,最初的我一直都是在本地文件夹手动管理代码。每当要修改代码,就将代码简单复制一份,然后在备份上进行修改。这种简单粗暴的方法无疑是低效的。直到我从软件构造的课程上学到github的使用,我愈发感受到git管理代码的独特魅力。 Github,是一个面向开源及私有软件项目的托管平台。它是程序员 阅读全文
posted @ 2022-05-30 20:22 hit666 阅读(266) 评论(0) 推荐(0)