Podczas prezentacji Michał pokaże, w jaki sposób możemy wykorzystać zasady znane z tworzenia oprogramowania w różnych językach backendowych, oraz jak zastosować je do tworzenia styli stron internetowych. Dzięki ich wykorzystaniu projekt, nad którym pracujemy, jest bardziej przejrzysty oraz optymalnie napisany, co pozwala na szybsze poprawki w przyszłości.
***
Michał Strześniewski podczas WordCamp Lublin 2017:
http://2017.lublin.wordcamp.org/session/css-workflow-czyli-jak-pracowac-z-css-em/
33. Modularność.
Style bloków nie mieszają się ze sobą.
Brak problemów związanych z kaskadowością
styli.
Możliwość wykorzystania całych bloków w innych
projektach.
34. Reużywalność.
Przy dobrym rozplanowaniu bloków na stronie i
wykorzystywaniu tych samych bloków w kilku
miejscach znacząco zmniejszamy ilość pisanego
kodu.
Z wykorzystaniem dodatkowych narzędzi takich
jak KSS możemy tworzyć w pełni
zautomatyzowane guideline'y.
To podejście nazywamy
Style Guide Driven Development.
42. Nie powtarzaj się!
Należy unikać zbędnych powtórzeń w kodzie
Należy utrzymywać kod w takiej postaci aby nie
było konieczności zmiany tej samej informacji w
wielu miejscach
44. Jedno źródło prawdy
Każda informacja przekazywana do systemu musi
mieć dokładnie jedną reprezentację w kodzie.
Zmiana informacji powinna wymagać edycji w
dokładnie jednym miejscu.
46. Nie powtarzaj się! / Jedno źródło
prawdy
Używaj zmiennych do przechowywania
powtarzajacych się informacji
Twórz mixiny do wykonywania
powtarzalnych fragmentów
Pamiętaj że nie każde powtórzenie
w kodzie jest złe.
49. Zasada jednej odpowiedzialności
Klasa powinna być odpowiedzialna za dokładnie
jedną rzecz.
Nigdy nie powinien istnieć więcej niż jeden powód
do modyfikacji klasy
Należy podzielić problem na najmniejsze możliwe
części
51. Zasada otwarte-zamknięte
Oprogramowanie powinno być otwarte na
rozszerzenia ale zamknięte na zmiany.
Przy zmianie wymagań nie powinien być
zmieniany stary działający kod, ale dodawany
nowy, który rozszerza zachowania
53. Zasada podstawienia Liskov
Klasa która dziedziczy po innej klasie może być
podstawiona za swojego rodzica bez
konsekwencji.
W CSS jeżeli tworzymy klasę która jest
odpowiedzialna za kolory to inna klasa która
rozszerza jej właściwości również powinna
odpowiadać za kolory.
Jeżeli tworzymy modyfikator koloru to nie
powinnien on wpływać na inne właściwości.
55. Zasada segregacji interfejsów
Wiele dedykowanych interfejsów jest lepsze niż
jeden ogólny.
Jeżeli 2 bloki na stonie dotyczą tego samego (np.
artykuł) ale różnią się znacząco, należy stworzyć 2
oddzielne klasy stylizujące.
Przesadane dążenie do reużywalności elementów
jet anty-wzorcem.
59. Separacja zagadnień
Elementy systemu powinny mieć rozłączne i
osobliwe zastosowanie.
Żaden z elementów nie powinien współdzielić
odpowiedzialności z innym elementem
Zmiana w jednej warstwie danych nie może
wpływać na drugą
60. Separacja zagadnień w CSS
Przypisuj style jedynie do klas CSS
Nie używaj DOMu jako selektora CSS
Nie przypisuj funkcji javascriptowych do klas
używanych przez CSS
Nie przypisuj CSS do atrybutów HTML
przechowujących wartości