Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D / 888-2436

Similar presentations


Presentation on theme: "CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D / 888-2436"— Presentation transcript:

1 CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D / 888-2436 hertzm@canisius.edu

2 Programming Environments Continue to use any system you wish  Examples in lectures, labs will use Eclipse Link available on course web page I may be able to burn CDs as well  I really like Eclipse and highly recommend it

3 Style Guide Good style helps when writing code  Program logic becomes easier to follow  Easier to read and fix errors  Much simpler to start & stop work on a project  Prevents many common errors Style includes two parts:  Formatting and other code issues: optional  Documentation: required

4 Indentation Always indent code within a set of braces Be consistent with size of indentation Nothing is more annoying than looking for the next line.

5 Indentation char _3141592654[3141 ],__3141[3141];_314159[31415],_3141[31415];main(){register char* _3_141,*_3_1415, *_3__1415; register int _314,_31415,__31415,*_31, _3_14159,__3_1415;*_3141592654=__31415=2,_3141592654[0][_3141592654 -1]=1[__3141]=5;__3_1415=1;do{_3_14159=_314=0,__31415++;for( _31415 =0;_31415<(3,14-4)*__31415;_31415++)_31415[_3141]=_314159[_31415]= - 1;_3141[*_314159=_3_14159]=_314;_3_141=_3141592654+__3_1415;_3_1415= __3_1415 +__3141;for(_31415 = 3141- __3_1415 ;_31415;_31415--,_3_141 ++,_3_1415++){_314 +=_314<<2 ;_314<<=1;_314+= *_3_1415;_31 =_314159+_314; if(!(*_31+1) )* _31 =_314 / __31415,_314 [_3141]=_314 % __31415 ;* ( _3__1415=_3_141 )+= *_3_1415 = *_31;while(* _3__1415 >= 31415/3141 ) * _3__1415+= - 10,(*--_3__1415 )++;_314=_314 [_3141]; if ( ! _3_14159 && * _3_1415)_3_14159 =1,__3_1415 = 3141-_31415;}if( _314+(__31415 >>1)>=__31415 ) while ( ++ * _3_141==3141/314 )*_3_141--=0 ;}while(_3_14159 ) ; { char * __3_14= "3.1415"; write((3,1) (--*__3_14,__3_14 ),(_3_14159 ++,++_3_14159))+ 3.1415926; } for ( _31415 = 1; _31415<3141- 1;_31415++)write( 31415% 314-( 3,14),_3141592654[ _31415 ] + "0123456789","314" [ 3]+1)-_314; puts((*_3141592654=0,_3141592654)) ;_314= *"3.141592";}

6 Braces Always use braces, even when not required by Java: for (int i = 0; i < n; i++); sum = sum + i; sumSquare = sumSquare + (i*i);

7 Braces Always use braces, even when not required by Java: for (int i = 0; i < n; i++); sum = sum + i; sumSquare = sumSquare + (i*i);

8 Increment/Decrement Operators Only use the ++ & -- operators on their own line (or in for loops) // What gets stored at each line while (++k < n) { a[i++] = (2 * i) + 6; b[j] = (j++ * j) - 1; c[j] = a[j] +++ b[j]; }

9 Statements Use variables to break up complex ideas // What is this computing? return ( (year % 4 == 0) && (year % 100 != 0)) || ( (year % 100 == 0) && (year % 400 == 0));

10 Statements Use variables to break up complex ideas divisibleBy4 = ((year % 4) == 0); divisible100 = ((year % 100) == 0); divisible400 = ((year % 400) == 0); return (divisible4 && !divisible100) || (divisible100 && divisible400);

11 Comments We write programs in “code”  It is not easy to read  It is difficult to simplify some ideas  Try reviewing your CSC 111 projects (or, even better, a friend’s CSC 111 project) Comments break up this code  Provide simple English descriptions  State assumptions and preconditions  Explain outcome of section of code

12 javadoc Tool included with most Java compilers Automatically generates web pages for a class from specially formatted comments  Includes space for every class, method, constructor, and field  Makes using classes much, much simpler  Requires little additional work

13 javadoc Comments Begin with /** and end at */ /** This is a javadoc comment */ Comment must immediately precede item  Good /** x-coordinate of bottom-left corner */ public int x;  Bad /** Example class that has no javadoc */ import java.util.*; public class JavadocError {... }

14 What To Say In javadoc Class  What the class does  How it should be used  (Author, when written, version number) Fields  Type of the field  What is stored in the field & how this is used  Assumptions about the field’s value

15 What To Say In javadoc Methods  Describe what the method will do  Explain what data will be return  List important preconditions  Explain significant postconditions  Any details you think users need to know  (Parameters, return value, exceptions)

16 More about comments javadoc is MINIMAL set of comments needed  Also include comments within methods  Describe how the method is supposed to work  Explain why this works  Makes your life easier when debugging!


Download ppt "CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D / 888-2436"

Similar presentations


Ads by Google