Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Contract First Development Content on InfoQ


RSS Feed
  • GraphQL Syntax Used for a Novel Approach to Schema Validation and Code Generation

    Nav Technologies has created an open-source schema definition and code generator that uses GraphQL syntax to define events and message formats. GraphQL was chosen for its expressiveness and familiarity among developers, but it is only used for its syntax; the Nav Schema Architecture (NSA) does not use the GraphQL runtime.

  • The Pure Attribute in .NET Core

    The Pure attribute was added to .NET in version 4 as part of the Code Contracts initiative to help developers distinguish between code that free from side effects from other code. While the Code Contracts project is over, the Pure attribute continues to see life in .NET Core.

  • C# Futures: Method Contracts

    Continuing our look at the future of C#, we now take a look at Proposal 119. This would add first class compiler and syntax support for method-level contracts.

  • The Human Aspects of API Design: An Interview with Apiary's Jakub Nesetril

    API Design and description is more than just a technical interface contract between machines. Apiary's Co-Founder and CEO Jakub Nesetril points out that the real consumer of an API description is the developer, with all the concerns of engagement, usability and communication that entails. We spoke with Jakub recently about Apiary's approach to API design and emerging API tools and workflows.

  • REST and the Travelling Salesman Design

    Recently Steve Jones from CapGemini commented on some text in a Nokia API project on github which indicated that designing and documenting APIs for REST based services was no longer required and that HATEOAS was sufficient. Given Steve's previous comments on IT valuing technology over thought, this was something he needed to call out as bad practice.

  • Code Contracts are Making Slow Progress

    Code Contracts are making slow progress towards being ready for production use. While the technology still shows a lot of initial promise, it doesn’t take long to run into a road block or six that makes them unusable in their current form.

  • How Relevant Is Contract First Development Using Angle Brackets?

    Christian Weyer of Thinktecture, announced the release of a Visual Studio Add-in that enables contract first development of web services using WCF.

  • Details on Using Code Contracts

    InfoQ has informed on the availability of Code Contracts for .NET. This time we want to offer more details on using Code Contracts, an important addition to .NET.

  • Code Contracts for .NET Is Available for Download

    Code Contracts is the .NET implementation of the Design by Contract concept. While it was supposed to be delivered with .NET 4.0, Code Contracts is already available for download from DevLabs. Contracts impose certain restrictions on using APIs, making programming safer, having more validations and resulting in fewer unexpected errors during runtime.

  • "Classic" versus "Mockist" TDD, Distinction Real?

    Hot in the TDD Yahoo group is a discussion concerning the perceived continuum between the "Classic" and "Mockist" TDD. Steve Freeman, Nat Pryce, Michael Feathers, Dale Emery, and many more discuss terminology and describe their approaches. The discussion also debates whether there even really exists such a continuum, and if so, what distinguishes the approaches that represent it's extremes?

  • TDD: Essential Skill or Architectural Landmine?

    At JAOO '07 Bob Martin asserted: "it is irresponsible for a developer to ship a line of code he has not executed in a unit test." In this InfoQ video, Martin debated with another well respected software thought leader, Jim Coplien, on this and other topics, including Design by Contract vs. TDD and how much up-front architecture is needed to keep a system consistent with the business domain model.

  • Article: "Code First" Web Services Reconsidered

    In a new InfoQ article, Dennis Sosnoski questions the conventional wisdom that a contract-first approach to web services development, i.e. starting from WSDL, is superior to starting from code. He shows how the JiBX framework can be used to practice start-from-code development without incurring the disadvantages, specifically without coupling implementation and interface too tightly.

  • Debate: Does REST Need a Description Language?

    Following up on the debate of REST vs. WS-* discussed here last week, it is interesting to note a debate about "contracts" for RESTful services that has been picking up pace over the last few days.

  • Consumer-Driven Contracts

    In an article published on Martin Fowler's web site, Ian Robinson describes a new strategy for evolving contract versions in a community of service providers and consumers.

  • Tutorial on Contract-First Web Services

    Arjen Poutsma has posted a step-by-step tutorial on contract-first Web service development.