Sanatares
Tworzenie gier to niełatwe zadanie! W moim najnowszym filmie omawiam trzy pułapki, które napotkałem podczas pracy nad moim projektem. Może dla kogoś okaże się to pomocne.

#gry #gamedev #indiegame #tworzeniegry #tworczoscwlasna #godot #devlog #polskigamedev #indiegamedev #tdd #cleancode #czystykod
  • Najlepsze
  • Wszystkie komentarze
applicattura
@Sanatares: Można gdzieś śledzić postępy?
Sanatares
Sanatares Autor
1
@applicattura: Postępy w tworzonej grze? Na polskim discordzie "godociku" mam kanał na którym dzielę się postępem. Najlepiej jednak zrobisz jak zasubskrybujesz mój kanał na yt, na pewno i na nim pochwalę się gdy będzie coś konkretnego. Jeszcze nie zacząłem promocji, wciąż pracuję. Dzięki że pytasz. :)
simsookoo
Siema Mirki,
Uczę się ostatnio wzorca architektonicznego domain-driven-design (DDD) w .NET'cie.
Macie do podesłania jakieś fajne repka na gitcie którymi można byłoby się inspirować w trakcie nauki tego wzorca/podpatrzeć dobrych praktyk?

dziena z góry za pomoc :D

#programowanie #programista15k #cleancode #dotnet #microsoft #csharp #ddd
  • Najlepsze
  • Wszystkie komentarze
Whiskeyjack29
Whiskeyjack29
@simsookoo: Confab od devmentors jest w miarę fajny. Nie jest perfekcyjny (nic nie jest w tym temacie bo tu kazdy ma swoje preferencje i DDD) ale pokazuje DDD + podejscie modularne.
oldspiceedit
@simsookoo: https://github.com/heynickc/awesome-ddd tutaj znajdziesz wszystko, ksiazki, guide'y, sample projecty, narzedzia specyficzne dla danego techa - A curated list of Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS), Event Sourcing, and Event Storming resources

z tego co widze jest tez kilka przykladow w .NET
LelakowSKY
#programowanie #java #cleancode
Dodajecie na końcu nazwy klasy postfixy typu 'Exception', 'Command' itp? jaką konwencje stosujecie?

Zauważyłem że dla np. service i repository dodawanie tego postfixu jest natualne, natomiast komendy 'ActivateProductCommand' juz nie pasują mi ze wzgledu na to ze nazwa nosi za soba zbyt duzo informacji? Jak jest u was, jakie konwencje nazewnicze stosujecie?
  • Najlepsze
  • Wszystkie komentarze
LelakowSKY
LelakowSKY Autor
2
no niestety 50% czasu pisania kodu to wymyślanie dobrych nazw zmiennych ( ͡° ͜ʖ ͡°)
globalbus
globalbus
@LelakowSKY: Pierwsze problemy informatyki, czyli jak coś nazwać. Powinno być przynajmniej spójnie w obrębie zespołu :)
Konwencja jest w drugą stronę. Coś, co nie dziedziczy z Exception, nie powinno mieć w nazwie Exception.
beethoven
dalszy ciąg tego wpisu. W skrócie "pożarłem się z 'senior devem' o czystość kodu."

Mój kolega z zespołu, senior dev, popełnił w kodzie parę nowych metod, o długości ok. 20 linijek, w których wymieszał najróżniejsze rzeczy typu tworzenie requesta, obsługa response'a, error handling na różnych poziomach (network, http, zawartość response'a), mapowanie, itd. Na review mu podpowiedziałem, że skoro metoda robi To, To i jeszcze To, to powinien powydzielać do mniejszych metod co się
  • Najlepsze
  • Wszystkie komentarze
PanJanuszTrzeci
PanJanuszTrzeci
Będę uwalał wszystkie pull-requesty i nie obchodzi mnie czy będziemy mieć przez to opóźnienia.


@beethoven: Jesteś najgorszym typem programisty. No offence. Koleś dał bardzo sensowny argument a ty sie rzucasz jakby klepał kod bezmyślnie.

Kilka lat pracy z devami z USA nauczyło mnie pragmatycznego podejścia i tego że kod ma działać, dać sie rozwijać i zarabiać. To czy metoda ma 20 linijek czy 5 nie ma abosultnie żadnego znaczenia -
v.....i
v.....i
@beethoven: brzmisz jak jakiś junior, co naczytał się zbytnio teorii a teraz kozaczy. W programowaniu sztuką jest podejmowanie masy kompromisów - wiele dobrych praktyk jest niemożliwe do zastosowania np: przez to jak został stworzony framework i jak zostały narzucone metody. Dobry programista rozumie, że nie zawsze warto podążać ślepo za wzorcami i czystym kodem, bo w wielu przypadkach po prostu się nie da. Mi np wiele razy zwracają uwagą, że
beethoven
Ostatnio w pracy pożarłem się z 'senior devem' o czystość kodu.

Mamy nowo utworzony zespół składający się z ludzi z już istniejących zespołów, ale którzy nigdy bezpośrednio razem nie pracowali wcześniej. Jednym z nich jest gość, który jest kilka lat starszy ode mnie i ma jakąśtam wiedzę, ale nie przywiązuje aż tak dużej wagi do czystego kodu. Zwróciłem mu uwagę, że nie powinien przekazywać do funkcji w innej klasie całego obiektu, tylko pojedyncze
  • Najlepsze
  • Wszystkie komentarze
ghostface
@beethoven: nie przesadziłeś, ja bym normalnie uwalał pull requesty i nie pozwolił mu merge'ować zmian. W przypadku braku porozumienia decyzje podejmuje przełożony lub kierownik projektu. Generalnie nie staraj się także atakować jego, tylko konkretne zmiany z podaniem konkretnych argumentów.
jagoda-jotef
jagoda-jotef
  • Najlepsze
  • Wszystkie komentarze
grizzly_joe
wzorceprojektowe #java #cleancode

Mirki, jak najlepiej wyjść z takiej sytuacji?
Dajmy na to, że mamy serwis, którego głównym zadaniem jest zrobienie requestu do webservice'u. Po każdym takim requescie należy zapisać zapisać o nim informacje do bazy. Jeśli zrobię metodę queryXXXWebService() i w niej umieszcze taki kod, to czy nie jest to pogwałcenie SRP?

queryXXXWebService() {
  • Najlepsze
  • Wszystkie komentarze
Wyrewolwerowanyrewolwer
Ludzi, którzy całe chainy piszą w jednej linii powinno się za karę oddelegowywać do naprawiania API Wykopu.

#programowanie #dramat #takaprawda #cleancode
Patres
#programowanie #cleancode #java
Mirki, takie pytanie: Projektuję sobie encję do programu, który zarządza planem lekcji i zastanawiam się jak powinna wyglądać ich struktura.
1. Wszystkie encje mają id
2. Niektóre mają pola audytowe (createdDate, createdUser itp.)
3. Niektóre (np. Nauczyciel, Sala, Przedmiot) mają jeszcze podpięte pola pod którą szkołę podchodzą (schoolOwner)
Zrobiłem strukturę w formię dziedziczenia: ApplicationEntity < AuditEntity < SchoolOwnerEntity < TeacherEntity (tu już konkretna
  • Najlepsze
  • Wszystkie komentarze
ppawel
ppawel
  • adult
5
Treść przeznaczona dla osób powyżej 18 roku życia...
  • Najlepsze
  • Wszystkie komentarze
Vanguard1990
Vanguard1990
Witajcie Mirasy. Przerabiam właśnie książkę "Czysty Kod" R.c.M. I nie wiem czy autor za mocno nie popłynął bo według niego nawet funkcja:

private void printGuessStatistics(char candidate, int count) {
String number;
String verb;
String pluralModifier;
  • Najlepsze
  • Wszystkie komentarze
M.....v
[ #csharp #dotnet #programowanie #dotnetnews #maavfeed ]

#csharp
Już chyba wstawiałem 2 miesiące temu Piotra Zielińskiego, który to tłumaczył. Za to tutaj jest krok po kroku pokazane na przykładach, co się dzieje.
Dariusz Pawlukiewicz - Dlaczego nie powinniśmy używać async void ?

#
  • Najlepsze
  • Wszystkie komentarze
S.....h
S.....h
sb.append("");
qr.cleanQueue();
esc.increaseRange(2);
l.unloadItem(1f);
trt.increaseRange(3);

#####!!!
  • Najlepsze
  • Wszystkie komentarze
mateusz-sus
Mirki, zastanawiam się nad kupnem książki "Zwinne wytwarzanie oprogramowania. Najlepsze zasady, wzorce i praktyki" Roberta C. Martina. Mam pytanie do kogoś kto miał do czynienia z tą książką: w jakim języku są podane w książce przykłady? Wiem że "Clean Code" był w Javie, natomiast jeżeli chodzi o tą książkę to spotkałem okładki z C#, ale też bez żadnego oznaczenia. Tak, wiem że nie ma to znaczenia, pewnie i tak to kupię. Jednak
  • Najlepsze
  • Wszystkie komentarze
smi3tana
  • Najlepsze
  • Wszystkie komentarze
Grizwold
Grizwold
  • adult
28
Treść przeznaczona dla osób powyżej 18 roku życia...
  • Najlepsze
  • Wszystkie komentarze
Marmite
Hej miraski. Mam problem projektowy i zastanawiam się jak go rozwiązać, żeby nie pogwałcić zasady Open-Closed Principle.

Przypuśćmy, że mamy klasę abstrakcyjną

Shape
. Mamy też kilka klas konkretnych, tj.
  • Najlepsze
  • Wszystkie komentarze
Marmite
Pytanie w stylu "straszna pierdoła, ale w sumie mnie nurtuje": Wszędzie zaleca się, żeby wartości przechowujące booleany zaczynały się od "is" i dalej przymiotnik. No dobra, a co z takimi zmiennymi jak

doesPathContainStartElement
? Brzmi okej czy raczej zamieniać na dziwnie brzmiącą formę z is (

isPathContainingStartElement
  • Najlepsze
  • Wszystkie komentarze
hatifnat
"Dobieraj nazwy zmiennych tak jakbyś wybierał imiona dla swoich dzieci"

~ Clean Code

#madroscizyciowe #programowanie #cleancode
  • Najlepsze
  • Wszystkie komentarze