• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Ej wiecie co...

+2 głosów
282 wizyt
pytanie zadane 20 listopada w Nasze projekty przez Distracted_bez_hasła Początkujący (370 p.)

Witajcie, jako mist chciałbym się pochwalić, że udało mi się spełnić jedno marzenie – może nie jedno, a więcej, ale chcę przedstawić wam moją pracę. Wiem, że pewnie mi powiecie dużo o bezpieczeństwie kodu czy temu, że nie ma większej dokumentacji, jednak postanowiłem się tym w końcu pochwalić.

Język ma jeszcze dużo błędów czy nieskończonych rzeczy.


 Mój język programowania SNS

 

Plik codf.sns zawiera przykładowy kod z użyciem wskaźników. 

Dziekuje.

komentarz 20 listopada przez Distracted_bez_hasła Początkujący (370 p.)

Mialbym nadzieje na opinie panelo.laugh

komentarz 20 listopada przez adrian17 Mentor (354,880 p.)

Zacznijmy od tego że się nie kompiluje:

void T_shift_chars(char *buffer, int S, int L) {
    int dc = strlen(bufor);

I nie wrzuciłeś main.c :P

komentarz 20 listopada przez Distracted_bez_hasła Początkujący (370 p.)
Przepraszam juz to naprawie za pare minut
komentarz 20 listopada przez Distracted_bez_hasła Początkujący (370 p.)

@adrian17, Zmieniałem pare nazw na lepsze z stąd ten bład juz poprawiłem i dodalem plik main.c

1 odpowiedź

+2 głosów
odpowiedź 23 listopada przez adrian17 Mentor (354,880 p.)

Nie wnikałem jakoś w detale, ale ogólne review jeśli chcesz:

- naucz się gita :P

- nie będę się czepiał temu że masz zmienne globalne albo temu że nie walidujesz poprawności... czegokolwiek, jak piszesz to sam dla siebie to whatever :)

- dużo kodu takiej postaci.

(get_variable_offset(temp2->left->left->Text, tree->right->right->Text) == -8) ? ' ' :
  (get_variable_offset(temp2->left->left->Text, tree->right->right->Text) == -4) ? 'd' :
    (get_variable_offset(temp2->left->left->Text, tree->right->right->Text) == -2) ? 'w' : 'b');

- również kod typu

bool x = costam == costam ? true : false;
// to równie dobrze możesz napisać
bool x = costam == costam;

- dużo kodu gdzie deklarujesz globalną zmienną i funkcję `init` gdzie deklarujesz stałą i kopiujesz tą stałą do globalnej zmiennej. Czemu to nie mogła być po prostu globalna stała bez żadnej funkcji?

- kompletny brak spójności czy nazywasz rzeczy jakos_tak, Jakos_tak, JakosTak czy Jakos_Tak.

- za dużo skrótów - rozumiem że nie chcesz pisać dokumentacji, ale jak nazywasz zmienną `ss`, to nikt nie ma pojęcia co to robi, w tym Ty za kilka miesięcy :)

- masz dużo fajnych enumów, po czym nagle rzucasz gołymi liczbami :c `New_Token_init(7, string, 0);`

komentarz 24 listopada przez Distracted_bez_hasła Początkujący (370 p.)

Dziekuje za odpowiedz i rady napewno je zapamietam. A co do twojej uwagi w stosunku do:

(get_variable_offset(temp2->left->left->Text, tree->right->right->Text) == -8) ? ' ' : 
  (get_variable_offset(temp2->left->left->Text, tree->right->right->Text) == -4) ? 'd' : 
    (get_variable_offset(temp2->left->left->Text, tree->right->right->Text) == -2) ? 'w' : 'b'); 

 

Faktycznie jest to nieczytelne ani nie jest wydajne(choc mozliwe ze gcc może to optymalizować). Zdaje sobie z tego sprawe aczkolwiek to dość duży projekt i czesto pisze tak bo mi wygodniej podczas pracy nad kodem. Oczywiscie planuje to zmienić.

 

W najblizszej chwili gdy bede mogl chetnie poprawie owe rzeczy.

Miłego dnia zycze

Podobne pytania

0 głosów
4 odpowiedzi 914 wizyt
+1 głos
0 odpowiedzi 630 wizyt
pytanie zadane 19 czerwca 2017 w C i C++ przez jpacanowski VIP (101,940 p.)

93,631 zapytań

142,553 odpowiedzi

323,056 komentarzy

63,137 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2658p. - dia-Chann
  2. 2510p. - DziarnowskiJ
  3. 2361p. - Łukasz Piwowar
  4. 2340p. - CC PL
  5. 2317p. - raydeal
  6. 2300p. - Adrian Wieprzkowicz
  7. 2243p. - rucin93
  8. 2117p. - Łukasz Eckert
  9. 2082p. - Michal Drewniak
  10. 1957p. - Maurycy W
  11. 1885p. - robwarsz
  12. 1811p. - rafalszastok
  13. 1600p. - Rafał Trójniak
  14. 1588p. - Tomasz Bielak
  15. 1494p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...