Perhaps I am appearing to be overly anal. Overly paranoid. Overly structural. Overly typed.

Perhaps so. Perhaps you're being too specific in your solution.

On any sizeable project I've been involved with, we eventually "externalize" all significant strings into a set of repositories, where the repository can be a simple flat text file with (key,value) tuples. This process, which sometimes happens very early on in development, is part of "internationalization"(I18N) -- those steps you take to prepare for eventual "localization" (L10N) of the application for some target language. Once you have strings in repositories, you can switch in translated versions of the repositories to localize.

If you're careful where you put externalized strings, "types" (classifications) can be determined either by which section of a repository they're in (e.g., group all SQL queries together in one section, and error messages in another) or by which repostitory they're in (e.g., keep separate repositories for different types of strings).

While it's common to externalize end-user visible text, it's a little less common to externalize SQL. But if your application is well structured, SQL should be limited to a set of readily identifiable modules.


In reply to Re: [meditation] Structured, Typed Program Catalogs by dws
in thread [meditation] Structured, Typed Program Catalogs by princepawn

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.