DIG1108C Lesson3 Fall 2014

11
Intro To Server Side Programming Lesson Three

description

Valencia College DIG1108C Lesson3 Fall 2014

Transcript of DIG1108C Lesson3 Fall 2014

Page 1: DIG1108C Lesson3 Fall 2014

Intro To Server Side Programming

Lesson Three

Page 2: DIG1108C Lesson3 Fall 2014

Recap - What Have We Found?

• Literals

• boolean - True/False

• integer

• float - decimal numbers

• string - text

• array - ordered key/value pairs

• object - literal within class

• Null - no value

Page 3: DIG1108C Lesson3 Fall 2014

Recap Continued

• Operators

• Arithmetic - $newvalue = $oldvalue + 1;

• Assignment - $newervalue = 10;

• Comparison - $newvalue != $oldvalue;

• String Operatorsvar_dump('foo' . 'bar');$a = 'foo'; a .= 'bar'; var_dump($a);

Page 4: DIG1108C Lesson3 Fall 2014

Order of Operations

• PHP (and most languages) follows Operator Precedence rules

• These allow for unambiguous statements

• Parentheses can be used to override default Operator Precedence or to add visual clarity$taxable_income = $wages + $earnings - $deductions; $taxable_income = $wages + ( $earnings - $deductions );

Page 5: DIG1108C Lesson3 Fall 2014

Programming Blocks

• Blocks are sections of code grouped together

• Blocks consist of declarations and statements

• PHP organizes statements into blocks with { }

• Conventions dictate indentation for readability{$foo=$bar+$bat;echo $foo;} { $foo = $bar + $bat; echo $foo;}

Page 6: DIG1108C Lesson3 Fall 2014

Coding Conventions

• A set of guidelines for a specific programming language of recommended styles, practices & methods for each aspect of a program

• Covers things like file organization, indentation, comments, declarations, statements, white space, naming conventions, practices & principles

• This improves the readability of code and makes software maintenance easier.

• Conventions enforced by humans, not compilers

Page 7: DIG1108C Lesson3 Fall 2014

Ease of Reading/Ease of Use• $UP=6;DN=19;$x=0;

while(++$x<=24){echo "hour $x: "; if($x>+$UP&&$X<+$DN); echo "sun is up"; else echo "sun is down": echo "\n"; }

• define( 'SUNRISE', 6 ); define( 'SUNSET', 19 );$hours = range( 1, 24);foreach ( $hours as $hour ) { // ternary operation $up_or_down = ( ( $hour >= SUNRISE and $hour <= SUNSET ) ? 'up' : 'down' ); echo "hour {$hour}: ", "sun is {$up_or_down}", "\n";}

Page 8: DIG1108C Lesson3 Fall 2014

Assignment 3.1

Good Code, Bad Code

Page 9: DIG1108C Lesson3 Fall 2014

Good Code, Bad Code

• Log in to Github

• Look through your forked projects for a block (~100) lines of code that are either very hard or very easy to read based on the coding style

• Copy & paste into a file named assignment-3.1.md

• Make a list with your partner of ways that the code style could be improved in each of your examples

• Save files to share with the class. Push to Github? (https://help.github.com/articles/create-a-repo)

Page 10: DIG1108C Lesson3 Fall 2014

Git and Github - Here to Help

• Git is your robot friend that remembers what you tell it to remember, and only that

• This robot recognizes when things have changed

• It knows how to remember, just not when

• Git can tell you what changed and when, you use comments to tell it (and yourself) why

• If you ask nicely (-h or --help) the robot will help

• This robot is well organized and can track branches of changed code

Page 11: DIG1108C Lesson3 Fall 2014

Basic git Commands

• git branch - what branches are there & which am I on?

• git status - what files have I changed or created?

• git add (files) - consider this stuff for remembering

• git commit (files) - I really want you to remember what I've considered via git add

• git push [remote [branch] ] - tell the robot named "remote" (default is "origin") about my changes in "branch" (default is "master")

• git fetch [remote] - ask the robot named "remote" for changes or branches that you don't know about yet

• git merge [branch] - attempt to combine changes in "branch"