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 revisionPrevious revision
sudoc:su_prog_rules [2019/07/30 21:50] seisunixsudoc:su_prog_rules [2019/07/30 21: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 21:55 by seisunix