• 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
463 wizyt
pytanie zadane 20 listopada 2025 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 2025 przez Distracted_bez_hasła Początkujący (370 p.)

Mialbym nadzieje na opinie panelo.laugh

komentarz 20 listopada 2025 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 2025 przez Distracted_bez_hasła Początkujący (370 p.)
Przepraszam juz to naprawie za pare minut
komentarz 20 listopada 2025 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 2025 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 2025 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 954 wizyt
+1 głos
0 odpowiedzi 660 wizyt
pytanie zadane 19 czerwca 2017 w C i C++ przez jpacanowski VIP (101,940 p.)

93,731 zapytań

142,668 odpowiedzi

323,286 komentarzy

63,289 pasjonatów

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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...