• Home
  • Most Popular
  • Submit
  • About Us
  • Contact Us

Softpile

Free Downloads

Categories
  • Home
  • Most Popular
  • Communications
  • Desktop
  • Games & Entertainment
  • Graphic Apps
  • Network & Internet
  • Security & Privacy
  • System Utilities
Alternative to itextsharp 2022.11.10347
IronPDF offers an itextsharp alternative for HTML to PDF conversion with C# code examples, documentation, and ...
VShell Server for Linux and Mac 4.8
VShell is a versatile and secure file transfer server that supports multiple protocols and is compatible ...
PDF Studio PDF Editor for Linux 2022
PDF Studio is a cost-effective PDF editor that delivers full compatibility with the PDF Standard. It's ...
VQ Probe for Linux 1.5
VQ Probe is a comprehensive software tool that enables objective and subjective video quality analysis. The ...
Resilient Server 2.3
This Debian GNU/Linux (Buster) based software has a customized partitioning scheme that enhances robustness against filesystem ...
Valentina Studio for Linux 9.6
Valentina Studio is a cross-platform GUI manager for Mac, Windows, and Linux. It allows users to ...
VPN Lifeguard for Linux 1.0.58
The software monitors VPN connection and automatically terminates apps during connection loss, re-establishes the connection and ...
G_Viewer 0.84
G_Viewer is a Linux software that serves as both a file system and photo/image viewer. It ...
Checksome File Hash Tool for Linux 1.1
This software allows for the generation and verification of file hashes. It is a quick and ...
KeyWrangler Password Manager for Linux 1.2
A password management software that is secure, offline and extensible. It offers military-grade encryption to protect ...
Home Linux MooseX::Contract Download

MooseX::Contract

August 13, 2009
This software assists in preventing errors known as "Moose-stakes," allowing users to avoid mistakes that could impact their work.
Version 0.01
License Perl Artistic License
Platform Linux
Supported Languages English
Homepage search.cpan.org
Developed by Brian Phillips
The Design by Contract (DbC) approach in software programming is a way to build simple unit tests or assertions right into your regular code path. This approach guarantees the behavior and appearance of any instance of a class and is considered that class' contract. This implementation of DbC provides three types of assertions, also referred to as contract clauses, when defining a class' contract.

The first is the pre clause, which is executed before control is passed to the original method, typically used to validate incoming parameters. The second is the post clause, executed after the original method has been called, which validates return values and the state of the object following the method.

The third is the invariant clause, a special type of DbC clause that makes assertions about the ongoing state of the object. Invoked after each public method (subs that don't begin with an underscore), these clauses are only allowed to inspect the object's state, unlike post clauses.

These contract clauses are created using a declarative syntax inspired by the Moose syntax. However, it's worth noting that there's no guaranteed safe way to resume execution after a contract clause validation failure. If a method causes a clause to fail, the object in question may be irreparably broken. Catching these errors and ignoring them or trying to handle them is not advisable and makes the use of this module pointless.

If you're concerned about the end-user experience, it's best to disable all MooseX::Contract functionality in your production code and plan to have enough coverage in your development and test environments. This module should be considered experimental and should not be used in critical applications unless you're willing to deal with all the typical bugs that young, under-tested software has to offer.

In terms of its implementation, this module provides "Design by Contract" functionality using Moose method hooks. The example given shows how to use this approach in a Moose-built class, complete with pre and post contract clauses.

Overall, the Design by Contract method of programming offers a way to guarantee the behavior and appearance of any instance of a class, providing different types of contract clauses to ensure this. However, it's important to be aware of the limitations and experimental nature of this approach.
What's New

Version 0.01: N/A

Free Download 8.5K
332
  • Share on:

Most Popular

  1. Quicksilver Forums 1.4.2
    154
  2. Dvgrab 3.4
    102
  3. DynVPN 1.0
    89
  4. CherryTV 0.1
    81
  5. SlideMap 1.2.2
    80
  6. porm r2
    73
  7. Clewarecontrol 0.8
    72
  8. Java Games 1.0
    72
  9. Swiftfox 3.0b5pre-2
    71
  10. fuseftp 0.8
    71

Related Downloads

Maccess
Maccess is a database analysis software that assists in processing information swiftly ...
BrushedMetal
BrushedMetal is a GDM Theme compatible with Gnome and GDM. It is ...
KildClient
This is a MUD client that uses the GTK+ windowing toolkit for ...
FreeIconToSpeech
A communication tool designed for individuals facing speech, motor, and developmental difficulties ...
openquicktime
OpenQuicktime is a portable library designed to handle QuickTime™ media files on ...
Schedule::SGE::Run
The software allows users to submit jobs to the Sun Grid Engine.
PC TSC
This software enables a PC to function as a Terminal Server Client ...
CreateMenuPath
CreateMenuPath is a Vim plugin that generates a convenient directory tree menu ...
scratch
Scratch is a Vim extension that offers an Emacs-inspired scratch buffer.
Trinux
Trinux is a Linux distribution that utilizes a ramdisk for booting and ...
Copyright © 1999-2025 Softpile Free Downloads
  • Most Popular
  • Submit
  • About Us
  • Contact Us
  • Privacy Policy
  • Disclaimer
  • Terms of Use

Can we use your data to tailor ads for you?

Our partners will collect data and use cookies for ad personalization and measurement.

By choosing "I agree", closing this pop-up or clicking on any element on the page, you agree to the use of cookies to help us provide you with a better user experience.

Learn how Softpile and our partners collect and use data.

You can change your choice at any time in our privacy center.

Cookie Settings

Our website stores four types of cookies. At any time you can choose which cookies you accept and which you refuse. You can read more about what cookies are and what types of cookies we store in our Cookie Policy.

are necessary for technical reasons. Without them, this website may not function properly.

are necessary for specific functionality on the website. Without them, some features may be disabled.

allow us to analyse website use and to improve the visitor's experience.

allow us to personalise your experience and to send you relevant content and offers, on this website and other websites.