Page MenuHomeSealhub

Standardy
Updated 1,992 Days AgoPublic

Version 1 of 46: You are viewing an older version of this document, as it appeared on Nov 22 2018, 14:30.

W tym artykule zbieramy do kupy rzeczy, na które powinniśmy zwracać uwagę przed oddaniem review / w trakcie robienia komuś review.

Umieszczam tutaj kwestie, które pojawiły się już kilka razy, abyśmy mogli im łatwiej zapobiegać na przyszłość.

Póki co lista jest niewielka, ale będzie rosła z czasem.

Każdy z punktów jest nagłówkiem, do którego można bezpośrednio linkować - zachęcam Reviewersów do linkowania do konkretnych sekcji w swoich komentarzach do diffów.

1. Ogólne

1.1 Formatuj kod za pomocą Prettiera

Prettier pozwala na automatyczne formatowanie wielu rodzajów plików - w tym html, js, jsx, css, scss. Jeżeli piszesz kod w języku wspieranym przez prettiera, to zadbaj o to, aby był nim sformatowany.

Więcej informacji o Prettierze znajdziesz tutaj:

1.2 DRY - don't repeat yourself

Co do zasady nie powinniśmy się powtarzać. Jeżeli jakiś fragment kodu się powtarza to warto zastanowić się, czy każdy z powtarzanych segmentów nie realizuje czasem tej samej intencji. Jeżeli tak, to rodzi to problem - jeżeli w przyszłości nasza intencja lub sposób jej realizacji się zmieni, to będziemy musieli pamiętać aby nanieść odpowiednie zmiany w każdym powtarzającym się miejscu. Aby temu zapobiec należy wyciągnąć ten kod do osobnego modułu/mixina/funkcji.

1.2.1 Not too DRY

Czasem widzimy dwa bardzo podobne fragmenty kodu i korci nas, aby je wpiąć w jeden moduł/funkcję/selektor. Jednak jeżeli te dwa fragmenty realizują inną intencję, a ich podobieństwo jest zwykłym zbiegiem okoliczności, to lepiej nie łączyć ich w jedną jednostkę - bo gdy intencja któregoś z nich się zmieni, trzeba będzie dokonywać ponownego rozdzielenia.

1.3 Wyrażaj swoją intencję wprost

To jest bardzo miękka zasada, ale zachęcam aby myśleć o niej często przy pisaniu kodu. Zilustruję ją prostym przykładem:

complicated.html
<style>
	.wrapper:before,
	.wrapper:after {
		display: inline-block;
		content: " ";
		width: 1rem;
	}
</style>

<div class="wrapper"><span class="content">Ala ma kota</span></div>
direct.html
<style>
	.content {
		margin: 1rem;
	}
</style>

<div class="wrapper"><span class="content">Ala ma kota</span></div>

Obydwa powyższe przykłady dają taki sam efekt wizualny: napis "ala ma kota" ma oddech z prawej i lewej strony. Ale w direct.html kod znacznie klarowniej wyraża naszą intencję: właściwie wprost mówi nam, co chcieliśmy osiągnąć.

Oczywiście czasem technologia, z której korzystamy nie pozwala nam ująć naszych intencji w bezpośredni sposób - ale jeżeli tylko mamy taką możliwość, powinniśmy zawsze sięgać po bardziej czytelne rozwiązanie.

Tags
None
Referenced Files
F64062: bitmap3.png
Apr 1 2019, 16:55
F64058: bitmap.png
Apr 1 2019, 16:55
F64060: bitmap2.png
Apr 1 2019, 16:55
F64063: bitmap4.png
Apr 1 2019, 16:55
F45497: image.png
Nov 22 2018, 14:46
Subscribers
Unknown Object (Project)
Last Author
kuba-orlik
Last Edited
Nov 22 2018, 14:30

Event Timeline

kuba-orlik edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik subscribed.
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik added a subscriber: Unknown Object (Project).Oct 29 2019, 12:49