Differences between revisions 6 and 7
Revision 6 as of 2009-01-23 15:38:09
Size: 1734
Editor: anonymous
Comment:
Revision 7 as of 2009-01-23 15:40:22
Size: 1827
Editor: anonymous
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Working Practices - Dick Bowman ==
Line 11: Line 12:
Dyalog Specifics: Use control structures to aid clarity. Especially to avoid arrrow-style branching. Use in-line dynamic functions to make code simpler. Use language constructs which simplify APL, such as the indexing function and dot-syntax. Don't hang onto archaisms like bracket-indexing just because they are familiar. === Dyalog Specifics: ===
 *
Use control structures to aid clarity. Especially to avoid arrrow-style branching.
 *
Use in-line dynamic functions to make code simpler.
 *
Use language constructs which simplify APL, such as the indexing function and dot-syntax. Don't hang onto archaisms like bracket-indexing just because they are familiar.
Line 13: Line 17:
Current Fads: Making increasing use of namespace scripts to hold utility code which is shared across applications. Making increasing use of class scripts to handle data. === Current Fads: ===
 *
Making increasing use of namespace scripts to hold utility code which is shared across applications.
 *
Making increasing use of class scripts to handle data.
Line 15: Line 21:
Detestations: Code that is "squished up" to look denser, in particular diamond statement separators. Code with comments mingled in and interfering with the real code. Error-trapping used to implement application logic. === Detestations: ===
 *
Code that is "squished up" to look denser, in particular diamond statement separators.
 *
Code with comments mingled in and interfering with the real code.
 *
Error-trapping used to implement application logic.

Working Practices - Dick Bowman

Currently using Dyalog APL to develop several single-user desktop applications. Used other versions of APL in the past in development groups of varying sizes. Dabbled with variants like J and K. Has also used other programming languages, but...

General Principles:

  • APL has its origins as a way to improve communication between people, never forget this.
  • Stick to the "functions take their input from arguments and produce results" wherever possible. As a sub-rule, put "controlling parameters" in the left argument and "data" in the right.
  • Keep defined functions (and operators) brief.
  • Insulate your code from the outside world by localising any system variables that it depends on.
  • If you need to include comments to make your code clear, you aren't making your code clear.
  • So long as performance is adequate, maintainability is the most important aspect of coding style.

Dyalog Specifics:

  • Use control structures to aid clarity. Especially to avoid arrrow-style branching.
  • Use in-line dynamic functions to make code simpler.
  • Use language constructs which simplify APL, such as the indexing function and dot-syntax. Don't hang onto archaisms like bracket-indexing just because they are familiar.

Current Fads:

  • Making increasing use of namespace scripts to hold utility code which is shared across applications.
  • Making increasing use of class scripts to handle data.

Detestations:

  • Code that is "squished up" to look denser, in particular diamond statement separators.
  • Code with comments mingled in and interfering with the real code.
  • Error-trapping used to implement application logic.

Disclaimer - this page written on 23 January 2009, preferences and practices may have changed.

Working Practices - Dick Bowman (last edited 2009-06-14 15:05:37 by anonymous)