User Tools

Site Tools


sudoc:su_prog_rules

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
sudoc:su_prog_rules [2019/07/30 23:50]
seisunix
sudoc:su_prog_rules [2019/07/30 23:55] (current)
seisunix
Line 37: Line 37:
 Make sure there are Notes: in the Self Documentation. Make sure there are Notes: in the Self Documentation.
 Document each declared variable. Put technical information describing the algorithm being used. Remember that "​future you" will not remember the things that "​present you" knows. Document each declared variable. Put technical information describing the algorithm being used. Remember that "​future you" will not remember the things that "​present you" knows.
 +
 +Document subroutines as though they will be clipped out and put in a library---because if a subroutine is useful, it will be separated from its parent program.
 +
 +Pretend that the code will not run without the documentation.
  
 ===== Develop from existing code ==== ===== Develop from existing code ====
Line 258: Line 262:
         }         }
         if (icount==0) warn("​All amps values are the same"​);​         if (icount==0) warn("​All amps values are the same"​);​
 +</​code>​
  
 +** Dynamic allocation which hides "​malloc"​ from the user **
 +<​code>​
  
         /* Allocate fft arrays */         /* Allocate fft arrays */
Line 268: Line 275:
         polygonalFilter(f,​amps,​npoly,​nfft,​dt,​filter);​         polygonalFilter(f,​amps,​npoly,​nfft,​dt,​filter);​
  
 +</​code>​
 +
 +** note that most of the time we loop over input traces, these are in  "do -- while" loops **
 +<​code>​
         /* Main loop over traces */         /* Main loop over traces */
         do {         do {
sudoc/su_prog_rules.txt ยท Last modified: 2019/07/30 23:55 by seisunix