Uparci programiści

Uparci programiści
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
25
  • Nie refaktorowanie rzeczy, które tego wymagają, a dług techniczny rośnie
  • Zero designu, wszystko robione jakimiś hackami po linii najmniejszego oporu, byleby sie skompilowało i pora na CSa
  • Wrzucanie na CR sugestii, które nie mają prawa zadziałać i nie biorą pod uwagę reszty systemu/corner casów

Mieliście do czynienia z takimi osobnikami? Niestety w obecnym projekcie mam takiego programistę. Ciągle próby "przyspieszenia pracy" oraz ułatwienia sobie życia poprzez ciągłe hacki i triki - Dla samej zasady, żeby tylko nie użyć konkretnej technologii gdzie sytuacja tego wymaga. Do tego strasznie nakręcony na dynamiczne rozwiązania, połowa codebase generowana z jakichś magicznych konfiguracji, byleby tylko nie zduplikować jednej linijki.

Praca z takim człowiekiem jest wyjątkowo męcząca. Utrudnia on pracę i wprowadza dziwne/złe nawyki do projektu. Niestety jakakolwiek argumentacja nie działa, bo on wie lepiej.

Czy zmiana projektu to jedyny sposób na takiego gagatka?

( ͡° ͜ʖ ͡°)


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
KamilAdam
Nominuję cię do statuetki złotego trolla
SA
Jakbym gdzieś to niedawno widział...
p_agon
@ledi12: honotu sprawa jest :]
QB
No i prawidlowo. W koncu ktos podsumowal te narzekania z poprzednich watkow. Piona!
Inclouds
Nie wierzę, że Szalom pyta o radę na forum. Zawsze to Ty ich udzielałeś :P Edit. Chyba się dałem nabrać.
KA
"uprzejmie donoszę, że temu osobnikowi należy wydrukować wypowiedzenie"
KamilAdam
Czyli trolling się udał XD
AT
  • Rejestracja:ponad 9 lat
  • Ostatnio:17 dni
  • Postów:24
1

Ja raz miałem "przyjemność" z kimś takim pracować. Nie bardzo dało się cokolwiek z tym zrobić bo był leadem naszego zespołu.

ledi12
  • Rejestracja:ponad 5 lat
  • Ostatnio:18 dni
  • Lokalizacja:Wrocław
0

Jak już chcesz robić jakieś wycieczki w moją stronę, to tylko dodam, że nie jest to moja opinia a całego zespołu. W tym "Seniorów" :]]]]


Robię http response status cody w martwych ciągach
Shalom
Ale ja nie robię żadnej wycieczki w twoją stronę ;) Po prostu pokazuje jak moze wyglądać sytuacja "z drugiej strony" :D
wiciu
Dodaj tych seniorów i tego lidera do tego wątku. Pogadamy sobie ze wszystkimi i wyjaśnimy sprawę ;).
ledi12
Halo, firma? Proszę przyjechać na 4P, dymy som
several
Ja też chce na wycieczkę.
TS
  • Rejestracja:ponad 5 lat
  • Ostatnio:około godziny
  • Postów:853
1

Zmień pracę, kraj, nazwisko. Ogarnij czy Elon nie wprowadził już przeprowadzek międzyplanetarnych.

crejk
  • Rejestracja:ponad 6 lat
  • Ostatnio:2 dni
  • Postów:46
7

Mialem styczność z takimi ludźmi o ktorych piszesz. Zazwyczaj niespelnione marzenia, ambicje, presja rodziny, brak ojca w rodzinie.
Później dochodzi zaangażowanie emocjonalne w projekcie, patrzenie na pryzmat zespolu przez wlasne "ja". Brak profesjonalizmu. Jak jeszcze zaczynaja traktować pracę jak drugie życie, robią wiecej niż 8h to już wiedz że trafiłeś na toksycznego typka. Praca z takimi ludźmi niszczy Ciebie i zycie prywatne, cos jak wampir energetyczny. Pogadaj z HRami o tym, jezeli nie zapropojuja Ci zmiany projektu to najlepiej jest się oddalić od takich osobnikow.

G1
"brak ojca w rodzinie" haha
CZ
lepiej zero ojców niż dwóch :P
wiciu
  • Rejestracja:ponad 11 lat
  • Ostatnio:dzień
  • Postów:1205
5

Spotkałem się z takimi osobami. Raz miałem mało doświadczenia i myślałem, że jestem głupi, więc nie ogarniam "kunsztu" takiego programisty, ale w praktyce był to over-engineering i kult cargo. Potem ta osoba poszła do innego projektu i za nią przyszedł inny, bardziej ogarnięty gość, który wywalił ok. 50% tego przekombinowanego kodu, a wszystko dalej działało i dało się łatwiej nawigować po projekcie.
Innym razem, chciałem napisać czysty kod zgodny z dobrymi praktykami wykorzystując nowe ficzery języka, to programista tego nie tolerował i zamiast mi w review napisać uwagi, to wklejał mi na czacie jakieś swoje code snippety i mówił, że mam tego użyć, bo tak.

Nie wiem, co z tym można zrobić. Jest to kwestia osobowości i braku otwartości na krytykę. Chyba najlepiej podawać na code review logiczne argumenty, że warto coś rozwiązać inaczej. Na planowaniu/refinemencie też można podać propozycje usprawnień. Gdybym był znowu w takiej sytuacji i moje logiczne argumenty, konstruktywna krytyka i propozycje usprawnień byłyby notorycznie ignorowane, to pewnie bym podziękował za współpracę. Chyba, że jakieś ciężkie siano bym za to dostawał i trudno byłoby podobne warunki uzyskać gdzie indziej, to może bym zacisnął zęby na jakiś czas : P. Niemniej jednak, podejrzewam, że jeśli ktoś nam płaci spory hajs, to wtedy oczekuje większej inicjatywy i propozycji usprawnień, a nie żeby siedzieć cicho w kącie, więc pozostaje dyskusja, logiczne argumenty lub zmiana roboty.

KamilAdam
Drugi raz ci nie dam plusa za ten sam post :P
ledi12
  • Rejestracja:ponad 5 lat
  • Ostatnio:18 dni
  • Lokalizacja:Wrocław
1

Ale incepcja xD


Robię http response status cody w martwych ciągach
Sensacyjny Sebastian
  • Rejestracja:ponad 5 lat
  • Ostatnio:16 dni
  • Postów:382
1

Na refactor nie ma czasu, bo biznes narzuca terminy, a designowanie rzeczy nie ma sensu, bo cały codebase to i tak hack na hacku hackiem poganiany.

p_agon
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:96-230
  • Postów:953
0

Pozniej awansuje taki na TL, dajcie spokoj :]


Reasumując wszystkie aspekty kwintesencji tematu, dochodzę do fundamentalnej konkluzji: To by nic nie dało, nie dałoby nic! Przez 10 minut można, przy 2h to już jakaś zemsta pagona.
QB
  • Rejestracja:ponad 9 lat
  • Ostatnio:3 dni
  • Lokalizacja:Lublin
  • Postów:170
0
Shalom napisał(a):

Czy zmiana projektu to jedyny sposób na takiego gagatka?

( ͡° ͜ʖ ͡°)

To zależy czy masz dużą siłę przebicia (masz już reputację kogoś, kto dowozi) i zespół, który się z Tobą zgadza (tzn nikt o problemie jawnie nie mówi, ale widać że ich osobnik męczy).
Jeśli obie odpowiedzi są na TAK, to czas na odważną decyzję - stwierdzić, że "gagatek" jest zagrożeniem dla projektu (lub morale/produktywności zespołu) i odsunąć od zespołu - to spowoduje, że pozostałym osobom z teamu urosną jaja i się zgodzą.
Jeśli choć jedna odpowiedź jest na NIE, to celem oszczędzenia sobie stresu lepiej zmienić projekt.

Na Twoją decyzję może też wpłynąć jak widzisz obecny projekt (czy jest sensowny/ciekawy) i czy potencjalne inne projekty nie będą bagnem.

edytowany 4x, ostatnio: qbns
CZ
  • Rejestracja:ponad 10 lat
  • Ostatnio:5 dni
  • Postów:180
1

@Shalom: W Twoim przypadku proponuję śmierć i zaczęcie wszystkiego od początku.

edytowany 1x, ostatnio: członek zarządu
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 14 godzin
  • Lokalizacja:Laska, z Polski
  • Postów:10053
3
Shalom napisał(a):
  • Nie refaktorowanie rzeczy, które tego wymagają, a dług techniczny rośnie
  • Zero designu, wszystko robione jakimiś hackami po linii najmniejszego oporu, byleby sie skompilowało i pora na CSa
  • Wrzucanie na CR sugestii, które nie mają prawa zadziałać i nie biorą pod uwagę reszty systemu/corner casów

Oj żeby tylko tyle.

Mieliście do czynienia z takimi osobnikami? Niestety w obecnym projekcie mam takiego programistę. Ciągle próby "przyspieszenia pracy" oraz ułatwienia sobie życia poprzez ciągłe hacki i triki - Dla samej zasady, żeby tylko nie użyć konkretnej technologii gdzie sytuacja tego wymaga. Do tego strasznie nakręcony na dynamiczne rozwiązania, połowa codebase generowana z jakichś magicznych konfiguracji, byleby tylko nie zduplikować jednej linijki.

A ten gość czasem dostaję do poprawy swoje rzeczy? Czy nic nie robi tylko dokłada nowe rzeczy; taki chory Open/Close? Bo może gdyby mu przyszło poutrzymywać swoje własne dzieło przez jakiś czas to by mu się odwidziało? :D

Praca z takim człowiekiem jest wyjątkowo męcząca. Utrudnia on pracę i wprowadza dziwne/złe nawyki do projektu. Niestety jakakolwiek argumentacja nie działa, bo on wie lepiej.

Czy zmiana projektu to jedyny sposób na takiego gagatka?

( ͡° ͜ʖ ͡°)

Kurczebele, ciężka sprawa. Może powiedz mu co o nim myślisz :D

66
XDDDDDDDDDDDDDD
DB
  • Rejestracja:ponad 9 lat
  • Ostatnio:3 miesiące
  • Postów:227
2

Najlepsi sa mistrzowie ktorzy mowie ze robia POC ficzera wiec zeby POCa zrobic to robia go "szybko" tworzac nowy katalog kopiujac wszystko co im sie moze jako tako przydac tam if tam else tu cos sie usunie tam usunie tu if potem nie chce im sie czegos skopiowac wiec zminiaja dla calego projetu tam if tu ifa.... potem sprzedaje sie na demo ficzer dla PO/PM i taki PO/PM podchwywuje ze ficzer dziala i jest DONE wiec go sprzedaje wyzej na DONE i sie go merguje i tworzy sie taska "Tech debt".... ktorego nigdy nikt nie podejmie...
i takie cos wchodzi do kodu kilka takich ficzerow i pozdro600 na rejonie... ofc taki wojowniik kodu po kilka ficzerach zmienia projekt.... :D

edytowany 2x, ostatnio: DolBo
W0
chyba w takim razie największym problemem jest niezrozumienie, co to jest PoC. PoC ma za zadanie udowodnić, że coś nada się do rozwiązania problemu, a nie żeby go rozwiązać.
vpiotr
Największy sukces autora PoC nie jest demonstracja możliwości a wdrożenie PoC na prod. Autor PoC chodzi wtedy dumny jak paw że dokonał niemożliwego w kilka dni (i pominął CICD, QA, architektów, security, PR itd).
Schadoow
Skoro został wdrozony na produkcje to nie jest POC. Dla mnie poc to jest trudny fragment a nie cały feature :p.
W0
@Schadoow: chyba trochę ominęła cię ironia sytuacji :D
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 5 godzin
  • Postów:5107
1

pierwsze słysze

jak się kompiluje, to musi być dobrze

K8
kosmonauta80
Jeżeli program za I razem kompiluje się bez błędów, to coś jest nie tak. Uwierz mi...
WeiXiao
@kosmonauta80: próbowałeś używać dobrego IDE?
KA
W piejczpi nic się nie kompiluje
K8
kosmonauta80
Używałem VS i CodeBlocks.
MU
  • Rejestracja:około 4 lata
  • Ostatnio:2 miesiące
  • Postów:270
0

Pytanie czy ta osoba, którą opisujesz jest jakimś leadem lub jakąs rodziną leada / managera czy to zwykly dev na rownoleglym stanowisku? Jesli zwykly dev to ja takich ignoruje (wlasciwie ignorowałem w przeszlosci, bo w obecnym projekcie niestety poziom techniczny jest uposledzony i nie ma czegos takiego jak CR). Jesli team lead to uciekac proponuje. Tylko te czeste ucieczki sa męczące i z kazdym kolejnym razem sie juz odniechciewa.

edytowany 1x, ostatnio: Misiek_Uszaty
viader
  • Rejestracja:około 12 lat
  • Ostatnio:około miesiąc
  • Postów:167
0

Dlatego dobrze gdy projekt ma Tech leada z decydujacym głosem. Bo wtedy Tech lead moze latwo ukrócic takiego osobnika. Chyba, że on jest Tech Leadem, no to tylko zmiana projektu pomoże :)

edytowany 1x, ostatnio: viader
viader
Coś mi nie pasowało, thx
KA
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 2 lata
  • Postów:594
1

Dlatego powinnismy wprowadzic nowa praktyke do extreme programming

spuszczanie wpie***lu :D

edytowany 1x, ostatnio: karsa
Charles_Ray
  • Rejestracja:prawie 17 lat
  • Ostatnio:około 12 godzin
  • Postów:1873
5

Wg. mnie to jest kwestia czy pewne rzeczy robi sie swiadomie - np. idzie na skroty, kiedy sytuacja tego wymaga. Kiedys wymyslilem poziomy dojrzalosci programisty w kotekscie zarzadzania dlugiem:

  1. Produkuje dlug techniczny, bo nie umie zrobic dobrze.
  2. Boi sie dlugu jak ognia - wszystko musi byc zawsze zrobione „zgodnie ze sztuka” (najlepiej DDD), nie godzi sie na szpachle. Nigdy.
  3. Swiadomie zarzadza dlugiem, umie odpowiednio rozlozyc akcenty. Wie, że jakosc i czas to trade-off, nie kazdy komponent musi miec kosmiczna architekture, nie zawsze wszystko musi byc zrobione najlepiej na swiecie (np. kiedy eksperymentujemy lub robimy jednorazową akcję).

A zatem - prawda jest jak zwykle po srodku. Dlug techniczny zawsze jakiś jest i trzeba nim zarządzać, aby dowozić, ale i nie zatonąć. Na koniec dnia wygrywa ten, kto szybciej dowiezie i bedzie w stanie sie utrzymac :)


”Engineering is easy. People are hard.” Bill Coughran
edytowany 1x, ostatnio: Charles_Ray
Zobacz pozostałe 8 komentarzy
Charles_Ray
Hasła klucz „stabilność” i „bezpieczeństwo” :)
CZ
Punkt 4. To ultimate simplicity. Kod moze byc zduplikowany, verbose itp. Najwazniejsze zeby byl rozszerzalny, latwy w zrozumieniu i latwy w refaktorze. I mowie to ja, po zwiedzeniu XX projektow i naprawieniu czesci z nich :P
Charles_Ray
@członek zarządu: czyli zakładasz niebinarnosc - to jest punkt 3 właśnie.
KA
Lepsze trochę kopiowania od ociupinki zaleznosci
CZ
Punkt 3. Mowi o eksperymentach. Jesli uznac, ze zycie samo w sobie to eksperyment, to zgoda, punkt 4 = punkt 3
KA
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 2 lata
  • Postów:594
1

Po prostu programisci to święte krowy ktore niewiele musza, nie raz developer experience jest wazniejszy od uzytkownika koncowego bo czasem trudno znalezc kogokolwiek do pracy + ogolna rozrzutnosc w IT i jeszcze olaboga zdenerwuje sie i odejdzie

Gdyby nie bylo tak latwo to by od nas wiecej wymagano

WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 5 godzin
  • Postów:5107
0

@Charles_Ray:

Swiadomie zarzadza dlugiem, umie odpowiednio rozlozyc akcenty. Wie, że jakosc i czas to trade-off, nie kazdy komponent musi miec kosmiczna architekture, nie zawsze wszystko musi byc zrobione najlepiej na swiecie (np. kiedy eksperymentujemy lub robimy jednorazową akcję).

sugerujesz że w software engineering chodzi m.in o engineering?

Zobacz pozostałe 7 komentarzy
TS
@Charles_Ray: tak Cię zabolało to jak łatwo zweryfikować rzeczy, które piszesz, że musisz je wypominać na następny dzień w innym temacie? Zostaw to już za sobą. Idź dalej.
TS
@karsa: Twitter ma limit znaków właśnie, żeby nie pisać tam takich artykułów. To tak jakbym kupił fiata 500 jako transporter mleka, wędlin, itd. Możesz? Możesz, nikt nie broni. Ale i tak nie będę mógł na to patrzeć jak krzywdzisz siebie i ludzi dookoła. Stop it. Get some help.
WeiXiao
PS: zamiast twitter.com to wstawcie nitter.net
KA
@twoj_stary_pijany: spoko, to napisz temu panu to, Twitter jest popularny w IT i niemal każdy tak robi, nawet są automatyczne boty które robią z tego wspólny artykul
TS
@karsa: po co ja mam do niego pisać? To ja jestem jego targetem, a nie on moim. To on ma do mnie dotrzeć. Nie płaci mi za feedback.
F4
  • Rejestracja:prawie 4 lata
  • Ostatnio:ponad rok
  • Postów:30
0

"Po prostu programisci to święte krowy ktore niewiele musza" a ja mam wrazenie ze jednak programisci nie sa inteligentni w tym kraju.

Sytuacja A: Jak lekarz w tym kraju konczy studia, ma lata praktyki, dochodzi do konflitkow -> rzuca etatem szanuje siebie i swoj prestizowy zawod idzie dalej lub do swojego prywatnego gabinetu.
Sytuacja B: Programista: niby czlowiek po studiach w Polsce... wyksztalcony, znajac tyle technologii a daje soba pomiatac jakiemus typowi ktory pewnie ma uklady z szefem level + 1 bo pija wodke razem lub inne atrakcje i jest ogolne przyzwolenie na takie sytuacje. Jakie to znowu miasto ""wielkie" w Polsce gdzie odbywaja sie te praktyki? Korpo Kolchoz czy SH, itp.?

Konkluzja: Trzeba byc asertywnym. Cos Cie denerwuje? To zmien to! Powiedz ze jestes super zajebisty i nie zamierzasz tego wysluchiwac bo typie nie masz racji po prostu i koniec. Jesli nie pomoze zmien ta prace lub miasto jesli przypadek sie powtarza. Szkoda zycia na takich pajacow.

CZ
Chyba nie znasz zbyt wielu lekarzy. Ja znam kilku, grindują generalnie jak programisci. Ogolnie ich wiedza jest zalosna, bo nie rozumieja jednego jedynego frameworka, ktory przyszlo im utrzymywac - ludzkiego ciała. Są tylko domysły, teoretyzowanie, najmniejszy problem generuje lawine spekulacji co do rozwiazania. Żałosny zawod i niemal zerowa skutecznosc w leczeniu chorob. Ale jesli znajdzue sie lekarz ktory sie uprze i sprobuje leczyc innych w jakis nieuznany jeszcze sposob - zabiera sie mu prawo wykonywania zawodu xD
F4
@członek zarządu: jak w zawodzie programisty: wieksza odpowiedzialnosc, wieksza kasa, uzeranie sie z trudnymi programistami, jestes zlym managerem tez wylatujesz. Co do lekarzy nie mowie o takich co lecza katar a specjalizowanych. W tej branzy tez mozesz byc testerem manualnym albo architektem kodu sa rozne level'e wtajemniczenia.
CZ
Specjalisci sa najgorsi :D Nie dosc ze nie ogarniaja calosci to jeszcze uwazaja ze jednak cos pojmuja, a to zasadniczy blad ktory zabija w odroznieniu od wiekszosci programistow, ktorzy moga co najwyzej nie dowiezc jakiegos tam cruda
piotrpo
  • Rejestracja:ponad 7 lat
  • Ostatnio:dzień
  • Postów:3277
0

Jak masz w miarę normalny zespół, to dość uniwersalną radą na problemy jest sprawiać, żeby były widoczne. Walisz z mostu, że coś jest napisane źle, komentarze do CR olane, czy co tam stanowi konkretny problem. Ważne, żeby nie skupiać się na osobie, a na problemie i sposobach jego rozwiązania, używać sensownych argumentów i zdawać sobie sprawę, że ktoś z innymi doświadczeniami ma prawo mieć inne zdanie. Jeżeli zespół ma na to wywalone, to uciekaj (albo zmień zespół).

Marcin Marcin
  • Rejestracja:prawie 6 lat
  • Ostatnio:24 dni
  • Postów:610
1

Zacząłbym mu sikać do herbaty albo zmienił firmę


Fan moderatora somekind
kevin_sam_w_domu
kevin_sam_w_domu
  • Rejestracja:prawie 4 lata
  • Ostatnio:prawie 3 lata
  • Postów:196
6

Branża programowania w Polsce, szczególnie Java to taki odpowiednik budowlanki, tylko tyle że w IT.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)