Witam. Jak pisalem w innym miejscu https://4programmers.net/Forum/Oceny_i_recenzje/354634-prosty_kalkulator_w_konsoli_tylko_dla_danych_typu_int jestem userem Linuxa i mam cel sprobowac dolaczyc do projektu(projektow) open source kiedy uznam ze jestem wystarczajaco przydatny.
https://github.com/carneades3?tab=repositories - tu mozecie zobaczyc 11 z wielu innych programow w Java jakie napisalem - wybralem te najbardziej ciekawe i nadajace sie do oceny. Aktualnie w Java jestem na etapie przerabiania interfejsow, wyjatkow i JavaFX - wiec nie ma tam zaawansowanych rzeczy, ale mimo wszystko cwicze sie w programowaniu.
Staram sie jak najwiecej uzywac konsoli w Linuxie i jak najmniej pomagac sobie poprzez mysz. Jednak idzie mi to ciezko i nieraz daje za wygrana. Podrecznik man niewiele pomaga. Moje 2 powazne podejscia do vima byly porazka, w nano tez odpuscilem i aktualnie uzywam do programowania edytora tekstu kate badz innego. Wszystkie programy kompiluje i uruchamiam w konsoli, bardzo rzadko uzywam debugera, a kiedy juz uzyje to oczywiscie w konsoli debuguje. Pomaga mi tez System.err.println (w ANSI C i C++ nie uzywam wcale debugera, tylko fprintf(stderr, ) i cerr, a basha czasem uruchomie z -x). Oczywiscie zdaje sobie sprawe ze ma to zwiazek z tym ze moje programiki sa bardzo krotkie i tylko przeze mnie pisane a nie przez kogos innego.
A teraz do sedna sprawy:
Licze na krytyke. Przede wszystkim czy moj kod w Javie dobrze sie czyta dla innej osoby ?
- Repozytoria ContactsViewer i DrawingShapes to moje zmagania z GUI i grafika JavaFX.
Reszta moich repozytoriow to programy konsolowe - ComputerSimulator to prosta symulacja programowania w jezyku maszynowym (programowalem troche w NASM https://www.nasm.us/ i odpuscilem bo poziom trudnosci wzrasta wykladniczo w porownaniu z Java), uzywalem tablic i wyjatkow
- HierarchyOfQuadrilaterals - Za pomocą wzorow matematycznych program sprawdza, czy możliwe jest skonstruowanie czworokąta z podanych punktów układu współrzędnych i oblicza parametry tego czworokąta Do obliczen uzywa klasy java.math.BigDecimal, w tym programie po raz pierwszy stosowalem dziedziczenie
- CurrencyConverter - konwerter dla walut za pomoca https://javamoney.github.io/ - po raz pierwszy uzylem Mavena i nawet JUnit (ale nie w finalnym commicie) - od tego programu uwierzylem ze moze kiedys dolacze do open source, ale twardo stapam po ziemi i na razie wiem ze jeszcze duzo kodzenia samemu przede mna
- TicTacToe - gra w kolo i krzyz z komputerem, ktory ma zaimplementowany algorytm min-max. Nie jestem pewny czy dobrze go zaimplementowalem ale jeszcze nie wygralem z komputerem. W tym programie uzylem wzorca projektowego Model-Widok_Kontroler. Jednak to tylko moje mniemanie ze go uzylem poprawnie.
- HugeInteger - klasa probujaca nasladowac BigInteger w niewielkim zakresie, testowana przez asercje i BigInteger. Mam swiadomosc ze moje testy sa slabo czytelne.
- KnightsTourChessboard - podroz skoczka po szachownicy z podgladem - czy jest w stanie odwiedzic wszystkie pola i czy jest to podroz zamknieta https://pl.wikipedia.org/wiki/Problem_skoczka_szachowego , implemetacja za pomoca algorytmu heurystycznego
- EightQueensChessboard - https://pl.wikipedia.org/wiki/Problem_o%C5%9Bmiu_hetman%C3%B3w , implemetacja za pomoca algorytmu heurystycznego
- TurtleGraphics - grafika zolwia https://pl.wikipedia.org/wiki/Logo_(j%C4%99zyk_programowania)
- Poker - gra w pokera z komputerem
Programow w ANSI C (ktorego przerobilem w 70-80%) nie chce wrzucac bo sa nieczytelne, w bashu tez slabo czytelne, a w NASMie to nic ciekawego, jedynie mam satysfakcje ze probowalem asembler (nawet z polaczeniuz ANSI C), a w C++ to jestem dopiero na etapie wyrazen i napisalem kalkulator https://github.com/carneades3/CalculatorForInt
Jeszcze jedno pytanie: czy to co robie w efektywny sposob przyblizy mnie do open-source czy moze zmienic swoje postepowanie ?