ďťż

Ładny brzuch

WItam :) niedawno na potrzeby własne napisałem kilka funkcji do wczytywania danych. Po kilku tygodniach wyewoluowały one do dużych rozmiarów i stały się plikami nagłówkowymi. Kilku moich znajomych zainteresowało się nimi, więc opisałem je, oraz zaimplementowałem podobny do cin-owego interfejs (niestety koledzy są na moim, dość niskim stopniu zaawansowania, więc nie mogli ich ocenić pod względem jakości :) )
Głównym celem tych nagłówków jest abezpieczenie cin przed podaniem danych typu innego nmiż oczekiwany (wczytuje inta ktoś wpisze stringa... albo przekroczy zakres intów...) Dodałem też funkcję wczytującą tylko określoną ilość znaków (daje sie wpiszać tylko określoną ilość, także ze sprawdzaniem typu, ale zaimplementowane tylko dla long long int i int) wszystko działa, ale nie mam pojęcia na ile dobra (raczej zła :] ) jest moja implementacja
Byłbym wdzięczny gdyby ktoś znający c++ ocenił moje pliki :)

Oczywiście jeżeli ktoś uzna że moje rozwiązania za przydatne lub chce ich użyć to będzie mi miło:)
oczywiście nagłówki są kompletnym open source.

stronka z plikami : www.gd-h.yoyo.pl



Zaj* pomysł! Brawo! Od dawna na to czekałem :D. Zaraz pobiorę.

// Hm... Muszę przyznac, że zrobiłeś kawał dobrej roboty, ale mam parę uwag.

1. W plikach nagłówkowych umieszczamy tylko deklaracje. Wszelkie definicje powinny być w plikach CPP.
2. Zrób dokumentację. Nie wystarczą komentarze w plikach; kiepsko się je czyta, zwłaszcza gdy kodowanie wymusza krzaczki zamiast polskich znaków.
3. Popraw błędy, takie jak np. umieszczanie linijki
using namespace std;
przed linijką
#include <iostream>
Skąd kompilator ma znać przestrzeń nazw std, gdy nie wie jeszcze o iostream?
Wypisywanie typu
cout << "cośtam" << "jeszcze cośtam << "i jeszcze inne takie tam";
jak najbardziej da się zrobić. Dokładnie nie pamiętam, jak to było; poczytaj o łączności operatorów. Doskonałe przykłady na to są w Symfonii. Na razie jednbak lepiej poprawić dotychczasowe błędy, potem dodawać nowe funkcje.
Użytkownik MZet edytował ten post 07 styczeń 2007, 00:10
Wielkie dzięki :) masz racje z tym using namespace to głupio wyszło... XD
o łączności operatorów poczytam a jeżeli nie przekroczy to moich zasobów umysłowych albo czasowych, spróbuję zaimplementować :)

Uważasz że lepsza dokumentacja jest bardzo ważna? ja uznałem że jeżeli ktoś sie zna na programowaniu, to sam zrozumie wszystko co napisałem, bo jest to w sumie elementarne. (no może oprócz metod cin. ignore(); itd...), a jeżeli ktoś jest początkujący to wystarczy mu prosty opis działania, z resztą i tak nikt tego nie będzie używał, bo nikt się o tym nie dowie :) szansa że ktoś się natknie na te nagłówki, akurat jak będzie ich potrzebował jest minimalna... że wogule się na nie natknie, google'ując tak samo :/ gdybym miał jakies podejrzenia że więcej osób może się zainteresować, napisał bym... jeżeli na forum będąjakieś prośby o dokumentację to się zmuszę:)

Wielkie dzięki za zainteresowanie :)

Wrzuciłem teraz nowszą versję, ale nic ciekawego , tylko kilka kosmetycznych poprawek, żadnych zmian w działaniu.

gh0st_d0g: na razie nie mam czasu przegladac kodu, ale jak co to wyedytuje tego posta ;). A co do dokumentacji, zainteresuj sie narzedziem o nazwie doxygen, wystarczy pisac odpowiednie komentarze nad deklaracjami funkcji a dokumentacja sama sie stworzy :).



Też bardzo chętnie przetestuję i przejrzę kod... tylko najpierw muszę znaleźć chwilę czasu... Okres przed i sesja wysysają z człowieka resztki wolnego czasu. Ale pomysł fajny... Też kiedyś rozmyślałem nad czymś podobnym.

@Ghost Dog: nam jest to potrzebne, bo się właśnie zainteresowaliśmy :). Dokumentacja to elementarna rzecz! No jak miałbym się domyślić, że cout to teraz plcout, a cin to scin? Życzę powodzenia! :D


@Ghost Dog: nam jest to potrzebne, bo się właśnie zainteresowaliśmy :). Dokumentacja to elementarna rzecz! No jak miałbym się domyślić, że cout to teraz plcout, a cin to scin? Życzę powodzenia! :D

ehh jeżeli musze to pomyślę :) ale teraz nie mam zbytnio czasu, koniec semestru (to nic w porównaniu z sesją ale pierwszy rok w LO też jest trudny ;p )
omże dajcie jakieś wskazówki co do dokumentacji , co miałbym tam napisać itd... nie robiłem nigdy nic takiego więc niestety nie wiem czego mogą wymagać userzy :)

Powinno wystarczyć coś w stylu
http://www.cppreference.com/
Deklaracja funkcji, jej opis, przykład :)

Hehe, pierwszy rok w LO? :D Ja tak samo, u nas też jest młyn. Ale próbujmy...

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •