Command-query Separation - Broader Impact On Software Engineering

Broader Impact On Software Engineering

Even beyond the connection with design by contract, CQS is considered by its adherents to have a simplifying effect on a program, making its states (via queries) and state changes (via commands) more comprehensible in a manner reminiscent of how Edsger Dijkstra's admonition against gotos did the same for control flow.

CQS is well-suited to the object-oriented methodology, but can also be applied outside of object-oriented programming. There is nothing inherently object-oriented about the separation of side effects and return values, and so CQS can be profitably applied to any programming paradigm that requires reasoning about side effects.

Read more about this topic:  Command-query Separation

Famous quotes containing the words broader, impact and/or engineering:

    Uses are always much broader than functions, and usually far less contentious. The word function carries overtones of purpose and propriety, of concern with why something was developed rather than with how it has actually been found useful. The function of automobiles is to transport people and objects, but they are used for a variety of other purposes—as homes, offices, bedrooms, henhouses, jetties, breakwaters, even offensive weapons.
    Frank Smith (b. 1928)

    If the federal government had been around when the Creator was putting His hand to this state, Indiana wouldn’t be here. It’d still be waiting for an environmental impact statement.
    Ronald Reagan (b. 1911)

    Mining today is an affair of mathematics, of finance, of the latest in engineering skill. Cautious men behind polished desks in San Francisco figure out in advance the amount of metal to a cubic yard, the number of yards washed a day, the cost of each operation. They have no need of grubstakes.
    Merle Colby, U.S. public relief program (1935-1943)