Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

9
  • 2
    In Perl, this is just what tools like MooseX::Getopt and Plack::Handler::CLI are for. Commented Aug 22, 2012 at 14:17
  • 4
    If you build your program with a CLI first, the UI can be layered on top of it, giving much more flexibility than a UI that's deeply embedded in the program. This is much the same for web services. Commented Aug 22, 2012 at 14:26
  • 29
    Always is a strong word. Commented Aug 22, 2012 at 14:46
  • 9
    Please note the original quote, which is: "The architecture should be modularized so that a new user interface can be substituted without affecting the business rules and output parts of the program. For example, the architecture should make it fairly easy to lop off a group of interactive interface classes and plug in a group of command line classes." So CC does not say you should prepare for replacing a GUI with a command line, it just says the architecture should accomodate changing the UI. The GUI->command line thing is just an example. Commented Aug 24, 2012 at 12:22
  • 2
    @Vandell I have the Second Edition of Code Complete and this is not mentioned on page 25. Which edition are you referring to? Commented Aug 30, 2012 at 15:52