|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。
固然传统断言能够增添对Java代码实行的反省次数,但有很多反省不克不及用它们来实行。填补这一缺点的办法是利用“时态逻辑”,它是一种用于形貌程序形态怎样随工夫而变动的情势系统。在本文中,EricAllen将会商断言,先容时态逻辑并形貌用于处置程序中时态逻辑断言的工具(下一篇文章将反省之前的毛病形式和时态逻辑的使用程序)。
我们人人批准对Java代码反省得越多就越好,我们反省了断言在测试新的和改善的编程中的用法。固然传统断言能够增添实行的反省次数,但有很多反省不克不及用它们来实行。
但是,有一个办法能够填补断言留下的反省缺口。那就是利用时态逻辑。时态逻辑是用于形貌程序形态怎样随工夫而变动的情势系统。让我们会商一下断言及其特征,和时态逻辑是怎样合适反省的。然后,我们将研讨用于处置时态逻辑断言的工具。
断言及其特征
除范例反省和单位测试外,断言还供应了一种断定各类特征是不是在程序中失掉保护的极好办法。
让我们疾速扫瞄三品种型罕见的断言特征(固然是罕见的,但它们没有供应我们所需的完全局限),将它们与能够用传统断言言语暗示的程序特征的范例举行对照,并反省多线程高低文所必须的,但不成能暗示成惯例断言的断言特征。我们还将供应一些代码示例。
罕见的断言特征
传统上,断言特征分红上面三品种型:
代码块实行之前特征所持有的前提前断言。
代码块实行以后特征所持有的前提后断言。
代码块实行之前和以后特征所持有的稳定断言。
与这些典范情势的断言一样有效,它们不太会有我们但愿能在程序中持有的一切特征局限。让我们看一下典范的用断言暗示的程序特征。
可暗示为断言的程序特征
这只是能够用传统断言言语暗示的程序特征范例的冗长列表D一切程序员都但愿在代码中包括的特征:
确保任何一次性特征都仅天生一次
断言文档决不被未受权的代办署理程序会见
断言向每一个线程供应运转时机
断言体系将决不会使其自己堕入逝世锁
平安性协定利用一次性特征(利用过一次的数字)天生器来确保事件未被用过。作为平安性中的复杂观点,确保一旦天生特别一次性特征,就不再天生它,这一点很主要。另外一个主要的平安性断言是平安文档决不被未受权的代办署理程序会见。
在多线程代码中,我们但愿断言每一个线程终极城市有运转时机。我们还但愿确保体系决不会使其自己堕入逝世锁形态(即在两个或多个线程能够持续处置之前,它们正在相互守候供应资本)。
<p>
进而能拉拢大多数程序员用windows产品。并且从net网页编程网页编程AJAX可以跨平台这一点上,间接证明了我们的推断,至少证明了微软做过这方面的研究。所以如果哪一天突然听说了.net网页编程可以跨平台了,那么请不要吃惊,如果这一天真的到来,java就到了真正和.net网页编程决战的时刻。因为不到万不得以的时候微软是不会推出跨平台的.net网页编程的,如果跨平台的.net网页编程还不足以对抗java的话,那么微软还剩的手段就是开源了,呵呵。 |
|