Kawałek kodu z którego jesteś dumny i dlaczego?

Kawałek kodu z którego jesteś dumny i dlaczego?
mechanix
  • Rejestracja:około 9 lat
  • Ostatnio:4 dni
  • Postów:501
1

Takie pytanie dostałem w formularzu rekrutacyjnym i jestem w kropce. Chociaż mam 6 lat doświadczenia na froncie i stanowisko seniorskie nigdy w pracy zawodowej nie miałem takiego momentu, że kod który napisałem był jakoś szczególnie błyskotliwy i napawał mnie dumą. Był to po prostu porządny kod bez setek komentarzy w PR który nie wywalał się na prodzie.

To może jakiś projekt po godzinach? Po robocie nie chce mi się kolorować borderów czy wymyślać layoutu frontendu. Wole naklepać parę zadań leetcode czy AdventOfCode bo nie ma się co oszukiwać, na froncie mało jest algorytmiki. Ale te zadania piszę w stylu napisz i zapomnij. Hacki, skróty, jednoliterowe nazwy zmiennych to raczej słaby kandydat do pokazania.

A wy? Macie jakiś kawałek którym możecie się pochwalić?

randomize111
advent of code bardzo fajna rzecz
Miang
  • Rejestracja:prawie 7 lat
  • Ostatnio:3 minuty
  • Postów:1659
3

możemy w sensie pokazać komuś z zewnątrz kod który pisałam dla innej firmy? No niech się w łeb walną
czyli tylko z projektów prywatnych a tam akurat bywa bajzel


dzisiaj programiści uwielbiają przepisywać kod z jednego języka do drugiego, tylko po to by z projektem nadal stać w miejscu ale na nowej technologii
cerrato
Myślę, że jakiś kawałek kodu - np. sprytne rozwiązanie jakiegoś sortowania, czy jakies pomysłowe rzutowanie to nie jest złamanie NDA. TO jakby kucharz twierdził, że nie pokaże pomidorka, z którego zrobi potrawę, bo zdradza tajniki swojej kuchni :P
Miang
no ale to jest jedna linijka dodana lub sunięta i kilka stron wyjaśnień dlaczego wiedziałam gdzie stuknąć ;)
cerrato
No i właśnie tymi wyjaśnieniami sobie wygrasz rekrutację - bo pokażesz, że rozumiesz o co chodzi, myślisz, umiesz analizować i takie tam
Miang
jeszcze mozna byu rtekurencyjnie w takim razie "opisałam problem jak opisuje problem jak opisuję ...."
ledi12
  • Rejestracja:ponad 5 lat
  • Ostatnio:12 dni
  • Lokalizacja:Wrocław
53
Kopiuj
print("***** ***")

Robię http response status cody w martwych ciągach
S4
Nie rozumiem fenomenu tych gwiazdek, ludzie obkleja się tym i myślą, że to ma jakieś znaczenie, że to coś zmeinia.
ledi12
Ja tam widzę tylko stringa? :/
markone_dev
Czy to wyrażenie dla jakiegoś cron joba?
AR
@S4t: może zmieniać. Czujesz, że łączy Cię z kimś ta sama sprawa. W godzinie "W", na sygnał, wielbiciele gwiazdek pomkną do skrytek po broń i ruszą po władze! Ten fenomen gwiazdek oznacza "gotowość do rewolucji", tak na sucho, teoretycznie. Dopóki prąd, internet, chleb i parówki są - rewolucji nie będzie.
S4
  • Rejestracja:około 3 lata
  • Ostatnio:około rok
  • Postów:1268
18

Ja mam prawie 17 lat doświadczenia i mam tylko takie, z których nie jestem dumny.

edytowany 1x, ostatnio: S4t
wiciu
  • Rejestracja:ponad 11 lat
  • Ostatnio:12 dni
  • Postów:1205
0

W sumie nie wiem, co bym na takie pytanie mógł odpowiedzieć. Od pewnego momentu zacząłem pisać kod tak, że wszystkim co napisałem mógłbym się pochwalić i być z tego dumny, bo jest dobrze zrobione, przetestowane automatycznie, udokumentowane i działa : D. Z drugiej strony, nie jestem jakimś geniuszem, żeby chwalić się rewolucyjnym algorytmem jak np. słynny szybki pierwiastek z quake 3.

edytowany 1x, ostatnio: wiciu
FR
  • Rejestracja:około 11 lat
  • Ostatnio:około 5 godzin
  • Postów:921
10

Znalazłem niedziałającego ifa po 3 dniach, odwróciłem warunek i działa. Wszyscy zadowoleni.

Veo
  • Rejestracja:ponad 2 lata
  • Ostatnio:7 dni
1

Tu raczej nie chodzi o rewolucyjny kod, który zmienia świat. Moim zdaniem wystarczy odnieść się do problemu (nawet niespecjalnie trudnego/wybitnego), który rozwiązałeś i jesteś w stanie go ładnie opisać. Mówisz co było problemem, dlaczego najprostsze rozwiązanie Cię nie zadowalało, co wypracowałeś finalnie i co to dało dla projektu/zespołu. Jeśli nie tworzysz jakiś rewolucyjnych rzeczy (jak 99,9% osób) to moim zdaniem jest to najlepsze podejście do tego typu zadania. Pokazujesz w ten sposób, że programujesz świadomie i się starasz.

Robert Karpiński
  • Rejestracja:ponad 3 lata
  • Ostatnio:ponad rok
  • Postów:133
0

Kiedyś byłem dumny jak zamiast pętli FOR zacząłem stosować iteratory - a teraz to jest już norma.
Duma i zadowolenie przy pisaniu kodu szybko znikają, gdy człowiek się rozwija.

Miang
znaczy w PHP foreach ;)
ZD
  • Rejestracja:około 3 lata
  • Ostatnio:ponad rok
  • Postów:2310
6

Ja jestem dumny, jak wypieprzam znaczne bloki kodu, i program nie tylko ciągle działa, ale nawet lepiej

Łapię się do kategorii ?


If you put a million monkeys at a million keyboards, one of them will eventually write a Java program - the rest of them will write Perl
edytowany 1x, ostatnio: ZrobieDobrze
FR
Nie, bo pole w które wpisujesz dumny kawałek kodu to jak fiddler, jak składnia nie działa to walidacja pola nie przechodzi i nie możesz przejść do następnego kroku rekrutacji. Życie :D
Korges
I nawet testy dalej zielone. Skąd ja to znam :D
WY
Wypierdzistyy
Ja rozumiem o co chodzi z tym wypieprzaniem kodu, ale początkujący dostaje problem z usunięciem jakiegoś buga, fixa, i dodaje ifa lub cokolwiek, błąd zażegnany, a kilka lat potem ktoś to wypierdala bo to niepotrzebny kod i kółko się zamyka. Ta historia jest zmyślona, ale z opowieści z obu stron taką wymyśliłem.
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:43 minuty
  • Postów:8397
5

Ja nie bardzo rozumiem, o co chodzi w takich pytaniach na rekrutacji.

Jeśli firma szuka programistów do pisania komercyjnego kodu, to powinni pytać raczej o kawałek kodu, którego się wstydzisz i dlaczego. Bo to by bardziej odzwierciedlało standardy jakości większości firm 🤣

Większość kodu komercyjnego to istny burdel (im więcej osób w zespole, tym większe spaghetti), więc co im z tego przyjdzie, że im pokażę swoją bibliotekę open source, która ma ciekawe techniki, czysty kod i 90-100% pokrycia testami? Chyba nic, bo komercyjnie takiego kodu raczej nikt nie pisze.

Ba, nawet w swoich prywatnych projektach jak zamiast skupiać się na kodzie i architekturze, zaczynam się skupiać na ficzerach, to jakość kodu często spada, bo zaczynam dodawać w pośpiechu różne rzeczy i w pośpiechu naginać dobre praktyki albo pakować coś w nie do końca przemyślaną architekturę.


Zobacz pozostałe 2 komentarze
wiciu
@Miang: To o czym piszesz ma nazwę "cult cargo" gdzie na siłę wciska się jakieś techniki nawet, jeśli nie są potrzebne. Co do samego postu, to uważam, że w kodzie, który napisałem w obecnej firmie nie ma burdelu, jest czysty kod i są testy. Dodałem nawet dokumentację i diagramy : D. Także jeśli komercyjny kod jest c****, to IMO pracują nad nim c**** (ewentualnie niedoświadczeni) programiści ;).
LukeJL
@wiciu poczekaj pół roku, rok. Okaże się, że twój moduł ktoś ci wcześniej czy później zaora i zrobi w nim śmietnik. Albo zostanie dorobione mnóstwo innego kodu spaghetti. Entropia rośnie z czasem. Szczególnie jeśli w zespole pracuje ileś osób i każdy kolejny programista dokłada swoją cegiełkę do postępującego chaosu. A na końcu już nikt nic nie wie.
Miang
cargo cult to trochę coś innego, np. ceremonie srumowe gdzie ludzie się zbierają codziennie w pokoju bo w innej firmie tak było , ale nie przekazują sobie żadnych pożytecznych informacji bo tego nie zaobserwowali zaglądając do tej innej firmy z zewnątrz przez okno ;)
LukeJL
Może ktoś miał traumę po szpitalu i zobaczył, że lekarze robią rano obchód, to też takie praktyki chciał wprowadzić w IT.
wiciu
@LukeJL: Podejrzewam, że coś takiego może się wydarzyć jak zmienię robotę xD. Obecnie, każdemu robię review, jest oprócz mnie 3 devów w teamie i jak widzę słaby kod, to nie puszczam go dalej. Niemniej jednak, rozumiem o co chodzi. W środowisku typu korpo takie zjawiska są powszechne, bo wiele osób lepszych lub słabszych z różnych miast albo i krajów grzebie przez lata w jednym kodzie i potem różne rzeczy z tego wychodzą.
PI
  • Rejestracja:ponad 9 lat
  • Ostatnio:3 miesiące
  • Postów:2787
2

Oj przecież to nic nie znaczące pytanie, wpisz tam cokolwiek, i tak przejdziesz do next etapu xd

PaulGilbert
  • Rejestracja:około 7 lat
  • Ostatnio:około 4 godziny
  • Postów:912
3
mechanix napisał(a):

nie miałem takiego momentu, że kod który napisałem był jakoś szczególnie błyskotliwy i napawał mnie dumą
code.png

markone_dev
Pracować z programistami, którzy tak podchodzą do swojego kodu to jak wygrać w lotto. Niestety często programiści zachowują się w sposób zbliżony do tych pań :P
LukeJL
@markone_dev: chyba o 180 stopni odwrotnie niż panie z mema
WY
WY
  • Rejestracja:ponad 2 lata
  • Ostatnio:około 2 lata
  • Postów:101
0

Ja bym raczej poprawił zdaniem, że może nie dumny, ale ciekawy projekt :>

Jeśli się gdzieś pracuje to ma się wydzielone konkretne zadania, jeśli samemu tworzysz projekt to jesteś one man army.

Dla mnie coś ciekawego to np. zbudowanie modelu 3d na podstawie zdjęć/filmu z różnych perspektyw, a detale jak rozwiązane przy pomocy jakich języków i jakim stylem, mniej istotne, chodź jak ktoś tylko na to patrzy, to może się nie spodobać.

Samo w sobie stworzenie ciekawego projektu, dla mnie jest trudne, trzeba wymyśleć coś ciekawego, potem potrzeba zaplanować wszystko, co potrzeba kupić, co wykonać, w czasie robienia wychodzą następne problemy.
Jak wyobraźnia zawodzi to trzeba wszystko mieć spisane na kartce papieru.

Dumnym ciężko jest być jeśli zrobisz jakieś rozwiązanie i się okaże, że istnieje jakieś lepsze to albo najlepsze jest albo średnie.

Miang
zajmujesz się może fotogrametrią?
WY
Wypierdzistyy
Nie, po prostu programuje
W0
  • Rejestracja:ponad 12 lat
  • Ostatnio:około 4 godziny
  • Postów:3521
1

Pytanie, czy kawałek kodu, czy kawał kodu ;)

  1. Nie wiem, czy całość projektu się liczy, ale kiedy przychodziłem do jednego miejsca to razem z resztą zespołu zastaliśmy bałagan doskonały. Duża aplikacja, która de facto pełniła rolę wielu aplikacji - wystarczyło podmienić klasę uruchomieniową. Oczywiście aplikacje nie miały za dużo z sobą wspólnego, może poza pewnymi kawałkami kodu. Do tego brak testów, wszystko było testowane podczas wdrożenia.
    Jak wychodziłem po dwóch latach to:
  • projekt został przeorganizowany na moduły gradle'owe i libkę
  • większość tych modułów miała już całkiem spore pokrycie testami
  • błędogenność aplikacji spadła o jakieś 60%, tj. o ile wcześniej zdarzały się problemy związane z tym, że ktoś zmienił coś niechcący, o tyle po naszym refactorze wszystko zrobiło się ładne
  1. Na mniejszą skalę - znów refactor kawałka przejętego systemu. Ogólnie system naklepany w Javie 1.4 i przeportowany na 1.5. Całość systemu była baaardzo słaba, natomiast jeden kawałek, służący do uploadu zdjęć do bazy danych w formie BLOBa był wyjątkowo paskudny. Ot, był to kawałek, który brał dane z jednego z czterech miejsc (w zależności od miejsca, w którym użytkownik kliknął - różniło się szczegółami) i zapisywał do jednego z dwóch miejsc w zależności od parametrów. Ponieważ wszystko było zapisane w dwóch klasach to ifologia ogarniająca de facto osiem przypadków biznesowych i kilkanaście mniejszych reguł była po prostu wspaniała.

Wydzieliłem dwa interfejsy (jeden do odczytu danych, drugi do zapisu), dorobiłem cztery implementacje pierwszego i dwa drugiego, dorobiłem odpowiednie if'y, które sprawdzały, która implementacja jest potrzebna i poszło.

VA
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 9 godzin
7

alert('dupa');

Zobacz pozostały 1 komentarz
opiszon
Potem trzeba prowadzić proces oddupiania kodu...
VA
Dopóki trzyma się konwencji to można zrobić to jedną, szybką komendą :D
opiszon
Taa, jedna konwencja...
Manna5
Teraz jest console.log, ale kiedyś nie było i alert był jedynym sposobem debugowania.
AR
tak czy siak, dupa pozostanie na zawsze... znaczy się na wyjściu
trybuszon
  • Rejestracja:ponad 4 lata
  • Ostatnio:około miesiąc
  • Postów:45
0

Jak tak sobie pomyślę, to jestem dumny chyba jedynie z wypieprzenia kilka tysięcy linii kodu, który był nieużywany (były to nieskończone feature'y, które tylko śmieciły, bo ktoś robił je w pośpiechu i potem nie dokończył przez zmianę priorytetów).
Żadna nowa linijka kodu nie dała mi tyle radości. :)

edytowany 1x, ostatnio: trybuszon
MA
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad rok
  • Postów:134
1

Rozpocząłem pracę w lokalnej firmie.
Mała firma mały zespół.
Na wstępie dostałem zadanie do wykonania, pewną aplikację automtyzującą pewne procesy.
Zajęło mi to około miesiąca, poukładałem wszystko w klasy, ładnie i logicznie (chciałem się wykazać).
Skończyłem dzień przed review(wtedy, było to nowum w zarządzaniu projektem, że inni komentują kod itp.).

Następnego dnia na review, szefu (który też był programistą), pokazał mi mój kod przerobiony wedle jego uznania.
Ze 2 klasy w każdej klasie kilka metod, a całość liczyła około 4k linii. Po prostu powsadzał mój kod w te swoje metody.
Potem zaczęła się gadka typu: Czemu tak długo? Po co tak komplikować? Po co svn w tak małym projekcie?
Po co te testy? (faktycznie napisałem własny "framework" testowy bo nie można było dosysać "obcych" modułów).
Z tego kodu nie jestem dumny.

Natomiast jestem dumny z kodu, który dostałem następnego dnia, w celu poprawy.
Kod na ~10k linii, 5 metod, każda metoda ~2k linii. Zdawkowe komentarze typu: "użycie biblioteki A".
Ten otrzymany kod pozwolił mi zweryfikować gdzie się znalazłem i jak szybko trzeba stąd uciekać.
Wypowiedzenie rzuciłem jeszcze tego samego dnia.

VarrComodoo
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 7 godzin
  • Lokalizacja:Bk
  • Postów:480
1

Głównie pisze narzędzia desktopowe sobie, albo kolegom z biura. Przeważnie cale testowanie odbywa się z poziomu użytkownika i to tam wyłażą błędy które później na czym prędzej musze poprawiać ;).
Nabrawszy wprawy na takich prostych projektach, podszedłem do dużego projektu z którego korzysta obecnie kilkanaście osób w firmie. Projekt ułatwia aktualizowanie danych w firmowym systemie ERP. Zanim zacząłem ten projekt pisać napisałem mnóstwo testów jednostkowych, wszystkie warunki brzegowe, wszystkie dopuszczalne i niedopuszczalne dane wejściowe, jakieś w ogóle abstrakcyjne przypadki wymyślałem i pod te testy pisałem cały kod biznesowy. Naprawdę jestem mega zadowolony z tych testów, z zakresu pokrycia kodu, z jakości testowanych aspektów, i z wyniku jaki dzięki nim uzyskałem. Bo uruchomienie tego projektu co prawda nie obeszło się bez błędów ale zdecydowana większość błędów dotyczyła raczej prezentacji danych czy widoków ale nie dotyczyła ryzyka uszkodzenia danych w ERP.
Szkoda że pomimo takiego dobrego doświadczenia wróciłem w innych prostszych i mniej odpowiedzialnych narzędziach do poprzedniego stylu pracy, czyli "szkoda czasu na testy lecimy z mięsem a potem jakoś się to poprawi" ;)


Sterczące kolce Pondijusa, ostre grzebienie Daktyloskopei, Trygla i latający Wieprzoryb są niczym wobec Bestii która nas gnębi...
AR
  • Rejestracja:około 19 lat
  • Ostatnio:5 miesięcy
1

Widać, że autor tego HR'owego pytania nie ma pojęcia o duszy programisty. Pięknie, błyskotliwie wygląda... typu "gdzie widzisz siebie za pięc lat".

Prawda jest jedna, pomimo kwantowego sposobu bycia tego świata...
Wydaje mi się, że jak programista napisze kod, przeczyta, przetestuje, działą, zostawi to, to kiedy by nie wrócił, to i tak patrzy okiem gospodarza - czy to da się jakoś uprościć/ulepszyć... a programista rozwijać się musi, taka natura, więc jasno wynika, że nawet patrząc na własny kod, po jakimś czasie, w końcu widzimy, że coś dojżalszego można wstawić, wywalić coś co trąca wiochą... skrajnie trochę pisze - ale przecież z przyjemnością i po kryjomu poprawiamy swój kod. Nieważne pobudki - czy wydajność, czy czytelność, czy że koledzdy będą się śmiali, bo - co ja głupi? - zamiast frameworka użuć pisze surowego SQL? ..
To tak jak by czuć dumę ze swoich dzieci, wiedząc że robią się coraz głupsze.

Ale, autor (tego pytania rekrutacyjnego) chciał chyba miło połechtać osobę, bo wyrażnie namawia do - "chwal się..."
Tymczasem, mnie się wydaje, że dumę można poczuć, kiedy się dowiadujesz, że kod który wyprodukowałeś kilkanaście lat temu, działa do dzisiaj, nie był źródłem problemów i nikt nie chce go zmieniać. Znasz ten kod, chętnie byś go przepisał na lepsze.... ale on działa, robi swoje i ludzie są zadowoleni. O, to jest duma.
No bo jeśi moją pierwszą grywalną girkę napisałem na turbopascala, a umiejętności miałem tak mało że zamiast tablicy były pojedyńcze zmienne... no nie wiem, dumy z kodu zero - ale z programistycznej roboty byłem zadowolony, wręcz naćpany radością.

...nie dziwne, że nikt nie może sobie przypomnieć "złotych linijek kodu", bo i tak mogą być jescze bardziej złote.

*) moja wypowiedź nie ma wiele wspólnego z zasadami gramatyki - jeśki ktoś by jeszcze nie dowierzał.


464
edytowany 1x, ostatnio: areksum
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 2 godziny
  • Postów:5105
0

A wy? Macie jakiś kawałek którym możecie się pochwalić?

pewnie, wrzuciłbym mu

Wole naklepać parę zadań leetcode czy AdventOfCode bo nie ma się co oszukiwać, na froncie mało jest algorytmiki.

Ja raczej odwrotnie - aoc czy lc wydają się być stratą czasu w porównaniu do sensownych projektów

edytowany 2x, ostatnio: WeiXiao
LitwinWileński
  • Rejestracja:prawie 3 lata
  • Ostatnio:2 dni
  • Postów:734
3

te rekrutacje są pełne durnych pytań.

do tego czasem zadadzą 2 pytania z tyłka, a potem w ocenie od HR dostajesz brakuje wiedzy z XYZ WTF 2 pytania dostałem, to czemu inni rekrutujący stwierdzili, że mam wiedzę z XYZ.

z jakiego kodu jesteś dumny?
z żadnego. Prosty kod nie jest powodem do dumy, a skomplikowane rzeczy zawsze da się zrobićlepiej.

AR
VT
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad rok
6

Z kodu który prezentował na ekranie animację 3d - tak zwaną wektorówkę napisaną do pewnego dema na procesorze 6502 (dla ATARI 800XL), który nie miał nawet wsparcia do mnożenia (poza przesuwaniem bitów - czyli mnożeniem x2) a potrzebne było w tym programie mnożenie przez sinusy i cosinusy. Program wynikowy mieścił się w jakichś 13kiB (tak kilobajtach). 100% własna produkcja bez copy-paste z cudzego kodu - stackoverflow wtedy jeszcze nie istniał :) Nawet procedura LINE (DRAWTO) zaimplementowana samodzielnie. Wszystko w asemblerze. Animacja wyciągała czasami 74 klatki/sekundę.

edytowany 2x, ostatnio: vtx
katakrowa
  • Rejestracja:około 10 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Chorzów
  • Postów:1670
8
mechanix napisał(a):

A wy? Macie jakiś kawałek którym możecie się pochwalić?

Mam i to sporo. Jednak najprawdopodobniej pytający i tak by go absolutnie nie "zakumał" nie rozumiejąc kontekstu, zatem samo pytanie o taki kod jest dość dziwne.
Rzeczy proste t.j. zwykłe CRUDY czy fragmenty aplikacji obsługi formularzy raczej mają być czytelne i łatwe w rozbudowie - mało tu miejsca na szczególną finezję i bycie z tego dumnym.

Takich kodów, z których można być dumnym może być wiele rodzajów a sam kod wcale nie musi być czymś wyjątkowym. Instalowałem kiedyś sterownik dystrybutora paliw, który był podróbką innej znanej marki... Niestety nie był w 100% z nią kompatybilny. Klient był 500km od miejsca pracy i olanie problemu podczas wdrożenia wiązało się z koniecznością:

  • powrotu do domu ;
  • załatwieniu identycznego urządzenia do testów ;
  • ponownym wyjeździe do klienta ;

Generalnie od cholery roboty... Postanowiłem więc na miejscu zdebugować (najpierw podglądając transmisję po RS) co się dzieje (w nie moim programie sterownika) i zauważyłem pewne rozbieżności w czasach odpowiedzi względem oryginalnego urządzenia (dystrybutor potrzebował więcej czasu na przyjęcie kolejnych rozkazów). Dopisałem jedną linijkę chamskiego delay_ms(2), który załatwił temat i wszystko zadziałało...
Byłem z tego dumny jak diabli bo po pierwsze nie byłem szczególnym specjalistą od tych sterowników po drugie oszczędziłem sobie, kolegom z firmy, i samej firmie kupę czasu i pieniędzy.|

Zatem prezentuję kod, z którego jestem dumny:

Kopiuj
  delay_ms(2);

Mam też sporo programów/kodu, które moim zdaniem w piękny sposób rozwiązują pewne złożone zagadnienia z mojej branży. Sam kod może nie jest szczególny ale zawarta w nim idea napawa mnie dumą i radością, że coś takiego udało się w tak elegancki sposób rozwiązać.

Mało kiedy istotne jest dla mnie to w jaki sposób kod jest napisany poddając ocenie równe wcięcia, piękne funkcje itp... bo to wg mnie jest nuda dla dzieciaków, którzy bardziej jarają się tym jak i w czym piszą niż tym co piszą.


Projektowanie i programowanie. Hobbystycznie elektronika i audio oszołom.
edytowany 4x, ostatnio: katakrowa
PA
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 4 godziny
  • Postów:3865
2

Jak się zastanowić, to dumę po napisaniu kodu czułem na początku nauki programowania. Duma nie wynikała z tego jakiej jakości był kod, ale z tego, że robił to co chciałem.
Nigdy później już tego nie miałem.

edytowany 1x, ostatnio: Panczo
Miang
ja tam mam z kodem co działa na GPU ;)
PA
Fajnie, ja po prawie ćwierćwieczu w zawodzie nie mam już uczuć związanych z programowaniem.
Marcin Marcin
  • Rejestracja:prawie 6 lat
  • Ostatnio:18 dni
  • Postów:610
2

z żadnego, bo średnio po pół roku napisał bym wszystko w zupełnie inny sposób

jest to dla mnie sposób mierzenia czy się rozwijam, jak ten sam kod napisałbym tak samo po pół roku to znaczy że niczego się nie nauczyłem


Fan moderatora somekind
PaulGilbert
Albo że osiągnąłeś perfekcję :-)
Marcin Marcin
@PaulGilbert: nie obawiam się doskonałości, dlatego że nigdy jej nie osiągnę
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:43 minuty
  • Postów:8397
0
Marcin Marcin napisał(a):

z żadnego, bo średnio po pół roku napisał bym wszystko w zupełnie inny sposób

Też mam takie myśli. Nawet najlepszy kod, jaki kiedyś napisałem nie jest na tyle dobry, żeby pokazać go jako przykład moich aktualnych umiejętności. Z kolei nawet najlepszy kod, jaki jestem w stanie teraz napisać, nie odzwierciedla moich umiejętności za pół roku czy rok.

Więc z czego tu być dumnym? W sensie jestem dumny z pomysłów, na jakie wpadłem kiedyś czy projektów, jakie zrobiłem, ale niekoniecznie z ich realizacji. A przynajmniej nie na tyle, żeby mówić "ojejku, jak jestem dumny z tego kodu" (bo co innego, jeśli pokazać jako przykład starannego poprawnego kodu "no, kiedyś coś takiego pisałem i kod w miarę czysty, pokrycie testami 90-100%, ogólnie może być").

No dobra, czasem jestem dumny ze snippetów na kilkanaście linijek kodu, które w prosty sposób robią coś fajnego. Może o to chodzi w tym pytaniu? O wrzucenie inspirującego snippeta?

W sumie ciężko dojść czy rekruterowi chodzi o pokaż projekt-arcydzieło będące dla ciebie tym, czym Linux dla Linusa Torvaldsa, czy pokaż projekt, gdzie masz najczystszy możliwy kod, genialną architekturę i 150% pokrycia testami czy pokaż inspirujący snippet zawierający ciekawą technikę.


edytowany 5x, ostatnio: LukeJL
Marcin Marcin
  • Rejestracja:prawie 6 lat
  • Ostatnio:18 dni
  • Postów:610
1
LukeJL napisał(a):
Marcin Marcin napisał(a):

z żadnego, bo średnio po pół roku napisał bym wszystko w zupełnie inny sposób

Też mam takie myśli. Nawet najlepszy kod, jaki kiedyś napisałem nie jest na tyle dobry, żeby pokazać go jako przykład moich aktualnych umiejętności. Z kolei nawet najlepszy kod, jaki jestem w stanie teraz napisać, nie odzwierciedla moich umiejętności za pół roku czy rok.

Więc z czego tu być dumnym? W sensie jestem dumny z pomysłów, na jakie wpadłem kiedyś czy projektów, jakie zrobiłem, ale niekoniecznie z ich realizacji. A przynajmniej nie na tyle, żeby mówić "ojejku, jak jestem dumny z tego kodu" (bo co innego, jeśli pokazać jako przykład starannego poprawnego kodu "no, kiedyś coś takiego pisałem i kod w miarę czysty, pokrycie testami 90-100%, ogólnie może być").

No dobra, czasem jestem dumny ze snippetów na kilkanaście linijek kodu, które w prosty sposób robią coś fajnego. Może o to chodzi w tym pytaniu? O wrzucenie inspirującego snippeta?

W sumie ciężko dojść czy rekruterowi chodzi o pokaż projekt-arcydzieło będące dla ciebie tym, czym Linux dla Linusa Torvaldsa, czy pokaż projekt, gdzie masz najczystszy możliwy kod, genialną architekturę i 150% pokrycia testami czy pokaż inspirujący snippet zawierający ciekawą technikę.

Ja jestem dumny przeglądając kod sprzed 4 lat że mając tak małą wiedzę na podstawie tak prostych elementów byłem w stanie wpaść na genialne pomysły i rozwiązać problem. Pracowałem z tym co mam i nie zastanawiałem się czego nie umiem po prostu pisząc kod.


Fan moderatora somekind
S9
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 5 godzin
  • Postów:123
1

Ja bym napisał takiego który w ogóle nie powstał, np. z uwagi na inne podejście do rozwiązania problemu. Najepszy jest kod, który nie powstał, nie trzeba go utrzymywać, ani testować :)

Marcin Marcin
  • Rejestracja:prawie 6 lat
  • Ostatnio:18 dni
  • Postów:610
0
sharper_99 napisał(a):

Ja bym napisał takiego który w ogóle nie powstał, np. z uwagi na inne podejście do rozwiązania problemu. Najepszy jest kod, który nie powstał, nie trzeba go utrzymywać, ani testować :)

z takiego jestem bardziej dumny


Fan moderatora somekind
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)