Grzechy główne programistów (nie tylko PHP)

Post on 04-Jul-2015

1.842 views 3 download

description

Autor: Robert "BoBsoN" Partyka Rzecz o sprawach gryzących sumienie niejednego programisty. Zaniedbaniach, braku przewidywania i lenistwie, błędach projektowych oraz niebezpiecznych nawykach, które mogą utrudniać pracę, zaprowadzić projekt w ślepą uliczkę a nawet doprowadzić do poważnych problemów (np. z GIODO). Także o tym, że maniakalne wyznawanie OOP to ciemna strona mocy :)

Transcript of Grzechy główne programistów (nie tylko PHP)

SALIGIA**(superbia, avaritia, luxuria, invidia, gula, ira, acedia)

...czylirzecz o grzechach głównych programistów

Robert Partyka

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

Trochę teorii...czyli:pycha

chciwośćnieczystość

zazdrośćobżarstwo

gniewlenistwo lub znużenie duchowe

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechydotyczące

wiedzy

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące wiedzy:- nieznajomość języka programowania- wymyślanie koła od nowa- nieznajomość prawa (nie czyni niewinnym)

* prawo autorskie* prawo dotyczące ochrony baz danych* prawo dotyczące usług internetowych* prawo dotyczące ochrony

danych osobowych

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące wiedzy- nieznajomość języka programowania- wymyślanie koła od nowa- nieznajomość prawa (nie czyni niewinnym)

* prawo autorskie* prawo dotyczące ochrony baz danych* prawo dotyczące usług internetowych* prawo dotyczące ochrony

danych osobowych

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące wiedzy- nieznajomość języka programowania- wymyślanie koła od nowa- nieznajomość prawa (nie czyni niewinnym)

* prawo autorskie* prawo dotyczące ochrony baz danych* prawo dotyczące usług internetowych* prawo dotyczące ochrony

danych osobowych

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechydotyczące

stylu

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące stylu:- brak komentarzy- brak czytelnych nazw zmiennych- brak prawidłowego formatowania- brak dokumentacji

function gfb($a){ $a *= 1;if ($a!=floor($a)){ $b = floor($a*100); $b = $b/100;if (Abs($a-$b)>=0.005) $b = $b+(( $b<0 )?-0.01:0.01);return $b;}else{ return $a; } };

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące stylu:- brak komentarzy- brak czytelnych nazw zmiennych- brak prawidłowego formatowania- brak dokumentacji

function gfb($a){ $a *= 1;if ($a!=floor($a)){ $b = floor($a*100); $b = $b/100;if (Abs($a-$b)>=0.005) $b = $b+(( $b<0 )?-0.01:0.01);return $b;}else{ return $a; } };

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące stylu:- brak komentarzy- brak czytelnych nazw zmiennych- brak prawidłowego formatowania- brak dokumentacji

function gfb($a){ $a *= 1;if ($a!=floor($a)){ $b = floor($a*100); $b = $b/100;if (Abs($a-$b)>=0.005) $b = $b+(( $b<0 )?-0.01:0.01);return $b;}else{ return $a; } };

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące stylu:- brak komentarzy- brak czytelnych nazw zmiennych- brak prawidłowego formatowania- brak dokumentacji

function gfb($a){ $a *= 1;if ($a!=floor($a)){ $b = floor($a*100); $b = $b/100;if (Abs($a-$b)>=0.005) $b = $b+(( $b<0 )?-0.01:0.01);return $b;}else{ return $a; } };

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące stylu:- brak komentarzy- brak czytelnych nazw zmiennych- brak prawidłowego formatowania- brak dokumentacji

function gfb($a){ $a *= 1;if ($a!=floor($a)){ $b = floor($a*100); $b = $b/100;if (Abs($a-$b)>=0.005) $b = $b+(( $b<0 )?-0.01:0.01);return $b;}else{ return $a; } };

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechydotyczące

kodu

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie

tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:

register globals, magic quotas...- wiara w konfigurację domyślną

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie

tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:

register globals, magic quotas...- wiara w konfigurację domyślną

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie

tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:

register globals, magic quotas...- wiara w konfigurację domyślną

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie

tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:

register globals, magic quotas...- wiara w konfigurację domyślną

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie

tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:

register globals, magic quotas...- wiara w konfigurację domyślną

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie

tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:

register globals, magic quotas...- wiara w konfigurację domyślną

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie

tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:

register globals, magic quotas...- wiara w konfigurację domyślną

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie

tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:

register globals, magic quotas...- wiara w konfigurację domyślną

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechydotyczące zasobów

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące zasobów:- brak szanowania pamięci - magia unset()- gdy 20*1 != 1*20 - wielokrotne zapytania SQL- rekurencja nie zawsze jest dobra

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące zasobów:- brak szanowania pamięci - magia unset()- gdy 20*1 != 1*20 - wielokrotne zapytania SQL- rekurencja nie zawsze jest dobra

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące zasobów:- brak szanowania pamięci - magia unset()- gdy 20*1 != 1*20 - wielokrotne zapytania SQL- rekurencja nie zawsze jest dobra

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechydotyczące

bezpieczeństwa

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania

zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do

SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania

poprawności certyfikatów- ufanie rozwiązaniom nazw DNS

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania

zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do

SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania

poprawności certyfikatów- ufanie rozwiązaniom nazw DNS

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania

zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do

SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania

poprawności certyfikatów- ufanie rozwiązaniom nazw DNS

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania

zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do

SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania

poprawności certyfikatów- ufanie rozwiązaniom nazw DNS

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania

zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do

SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania

poprawności certyfikatów- ufanie rozwiązaniom nazw DNS

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania

zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do

SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania

poprawności certyfikatów- ufanie rozwiązaniom nazw DNS

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania

zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do

SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania

poprawności certyfikatów- ufanie rozwiązaniom nazw DNS

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania

zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do

SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania

poprawności certyfikatów- ufanie rozwiązaniom nazw DNS

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechydotyczącestruktury

kodu

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące struktury kodu:- mieszanie kodu PHP z HTML- bałagan w plikach i katalogach- setki require() / include()

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące struktury kodu:- mieszanie kodu PHP z HTML- bałagan w plikach i katalogach- setki require() / include()

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

grzechy dotyczące struktury kodu:- mieszanie kodu PHP z HTML- bałagan w plikach i katalogach- setki require() / include()

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

czynnikludzki

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

Czynnik ludzki:- straszenie użytkownika przerośniętym GUI- zbytnie zaufanie wobec użytkownika szkodzi- nie ufaj kodowi z zewnątrz bezwarunkowo

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

Czynnik ludzki:- straszenie użytkownika przerośniętym GUI- zbytnie zaufanie wobec użytkownika szkodzi- nie ufaj kodowi z zewnątrz bezwarunkowo

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

Czynnik ludzki:- straszenie użytkownika przerośniętym GUI- zbytnie zaufanie wobec użytkownika szkodzi- nie ufaj kodowi z zewnątrz bezwarunkowo

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

oraz...

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

Object-Oriented Programmingkusi ciemną stroną mocy

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

Object-Oriented Programmingkusi ciemną stroną mocy

foreach($configLines as $line){list($key,$value)=explode("=",$line,2);$this->addConfigValue(new myConfigObject($key,$value));

}

SALIGIA, czyli rzecz o grzechach głównych programistów

Robert Partyka - robert.p@fwioo.pl

Dziękuję za uwagę...Idźcie i nie grzeszcie więcej :)