Size: 1734
Comment:
|
Size: 1827
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.