37
OOP med Python … och att skriva bra kod

HT16 - DA361A - OOP med Python

Embed Size (px)

Citation preview

Page 1: HT16 - DA361A - OOP med Python

OOP med Python… och att skriva bra kod

Page 2: HT16 - DA361A - OOP med Python

Dagens föreläsningOOAD

Att skriva bra kod

OOP

Page 3: HT16 - DA361A - OOP med Python

OOA => OOD => OOP

Presenter
Presentation Notes
Analys => Vilka objekt finns Design => Hur hänger dessa ihop? => Diagram
Page 4: HT16 - DA361A - OOP med Python

Vad kan ni om OOA?

Page 5: HT16 - DA361A - OOP med Python

Vad kan ni om OOD?

Page 6: HT16 - DA361A - OOP med Python

PEPPython Enhancement Proposalshttps://www.python.org/dev/peps/

Page 7: HT16 - DA361A - OOP med Python
Presenter
Presentation Notes
 guiding principles for Python's design
Page 8: HT16 - DA361A - OOP med Python

De viktigaste punkternaBeautiful is better than ugly.

Simple is better than complex.

Readability counts.

If the implementation is hard to explain, it's a bad idea.

Page 9: HT16 - DA361A - OOP med Python

PEP 8https://www.python.org/dev/peps/

Page 10: HT16 - DA361A - OOP med Python

PEP 8 är en style-guide för att skriva Python-kod

Page 11: HT16 - DA361A - OOP med Python

Det viktigaste med PEP 8

Kod läses många fler gånger än den skrivs

Samstämmighet för de som skriver/läser kod

Page 12: HT16 - DA361A - OOP med Python

Undantag mot PEP 8? När?

Lyssna på omgivningen (kanske ert företag har andra designregler för kod?)

Minskar läsbarheten

Page 13: HT16 - DA361A - OOP med Python

De viktigaste punkterna!

4st mellanslag (alt. TAB)

Mixa aldrig tabbar och mellanslag

Ha maximalt 79 tecken per rad, annars radbryt

Använd blanka rader med måtta

Page 14: HT16 - DA361A - OOP med Python

Dålig radlängd

Page 15: HT16 - DA361A - OOP med Python

Bra radlängd #1

Page 16: HT16 - DA361A - OOP med Python

Bra radlängd #2

Page 17: HT16 - DA361A - OOP med Python

Radbrytningar

Page 18: HT16 - DA361A - OOP med Python

ImportsDåligt

Bra

Page 19: HT16 - DA361A - OOP med Python

BlankstegDåligt

Page 20: HT16 - DA361A - OOP med Python

Blankstegbra

Page 21: HT16 - DA361A - OOP med Python

Dåligt Bra

Page 22: HT16 - DA361A - OOP med Python

Kommentarer

Page 23: HT16 - DA361A - OOP med Python

RekommendationerBra Dåligt

Page 24: HT16 - DA361A - OOP med Python

Kontrollera din kodhttp://pep8online.com/Eller installera pep8 genom pip

Page 25: HT16 - DA361A - OOP med Python

Automatisera PEP8http://stackoverflow.com/questions/14328406/tool-to-convert-python-code-to-be-pep8-compliant

Page 26: HT16 - DA361A - OOP med Python

Cheat sheethttps://gist.github.com/RichardBronosky/454964087739a449da04

Page 27: HT16 - DA361A - OOP med Python

OOP med Python

Page 28: HT16 - DA361A - OOP med Python

Procedural programming is a method of writing software. It is a programming practice centered on the

procedures or actions that take place in a program

Page 29: HT16 - DA361A - OOP med Python
Page 30: HT16 - DA361A - OOP med Python

Procedural programming is made up of one or more proceduresProcedures operate on data items that are separate from the procedure

Data items are passed from one procedure to another

Focus is on the creation of procedures that operate on the program’s data

Page 31: HT16 - DA361A - OOP med Python

Object-oriented programming is centered on objects. Objects are created from abstract

data types that encapsulate data and function together.

Page 32: HT16 - DA361A - OOP med Python

OOPAn object is a software entry that contains both data and procedures

Data contained in an object is known as the object’s data attributes

Procedures that an object performs are known as methods

Page 33: HT16 - DA361A - OOP med Python
Page 34: HT16 - DA361A - OOP med Python

A class is code that specifies data attributes and methods for a particular

type of data.

Page 35: HT16 - DA361A - OOP med Python
Page 36: HT16 - DA361A - OOP med Python
Page 37: HT16 - DA361A - OOP med Python