Wpis z mikrobloga

@jaggi: ;_______;

try
{
    State field1 = (State)tableLayoutPanel1.GetControlFromPosition(i + 1, j);
    if (field1.GetState() != State.state.Occupied) ;
    else pawn_alone = false;
}
catch (ArgumentException e) { }
catch (NullReferenceException e1) { }
try
{
    State field2 = (State)tableLayoutPanel1.GetControlFromPosition(i - 1, j);
    if (field2.GetState() != State.state.Occupied) ;
    else pawn_alone = false;
}
catch (ArgumentException e) { }
catch (NullReferenceException e1) { }
try
{
    State field3 = (State)tableLayoutPanel1.GetControlFromPosition(i, j - 1);
    if (field3.GetState() != State.state.Occupied) ;
    else pawn_alone = false;
}
catch (ArgumentException e) { }
catch (NullReferenceException e1) { }
try
{
    State field4 = (State)tableLayoutPanel1.GetControlFromPosition(i, j + 1);
    if (field4.GetState() != State.state.Occupied) ;
    else pawn_alone = false;
}
catch (ArgumentException e) { }
catch (NullReferenceException e1) { }
@Golomp: warunki są mi po prostu potrzebne :D jak to po co?
a te puste catche bo krzyczał że unhandled exception, a jak występują te wyjątki to w tym wypadku nie chce nic z nimi robić
a te puste catche bo krzyczał że unhandled exception


@jaggi: ale tak bez powodu krzyczał?

if (field4.GetState() != State.state.Occupied) ;
else pawn_alone = false;
Nie łatwiej zapisać tak:

if (field4.GetState() == State.state.Occupied) pawn_alone = false;
albo skorzystać z dobrodziejstwa C# i użyć zapisu skróconego?

pawn_alone = field4.GetState() == State.state.Occupied ? false : pawn_alone;
@ogrod87: domyślam się. coś takiego pisze trochę na odwal. jak mam jakiś projekt na uczelnię napisać to już się staram żeby ten kod w miarę wyglądał. a tu to piszę, poprawiam milion razy i powstaje mi coś takiego

if (field4.GetState() != State.state.Occupied) ;
else pawn_alone = false;

jak dotarlo do mnie co ja napisałem to sam się smiać zacząłem
@jaggi: Wyjątki (Exception) są to jak sama nazwa mówi sytuacje wyjątkowe, nie do przewidzenia. W fragmencie kodu, który wrzucił @Golomp wszystkie sytuacje są do przewidzenia więc są tam zbędne.

@ogrod87: u mnie w jednej (dużej) aplikacji wciąż można znaleźć takie potworki (stary kod), ale na szczęście udało mi się przemówić chłopakom do rozumu ( ͡° ͜ʖ ͡°)
Otwieram. Czytam. Widzę: "planszaToolStripMenuItem". Łapanie wyjątków i nie robienie z nimi absolutnie nic (Chociaż wypisać informację o napotkanym błędzie! Ale po co!). Tego if-a, o którym wspomniał @westsajd, to już nawet pominę. Nudziło się, ale nauczyć się, żeby pisać sensowne nazwy zmiennych i nie pisać w pongliszu, to już się nie chciało. #!$%@?, wystarczy trochę się interesować tematem, żeby wiedzieć, że tak się nie pisze. Ale po co, nie ma czasu,
@bambosze_babuni: wiem, że #!$%@?łem co poniektóre linie tego kodu po całości. ale w momencie pisania tego postu nie widziałem tego. jak człowiek coś napisze i czyta to, po niezbyt długiej przerwie, to czyta to "z pamięci" tak jak wydaje mu się że to wygląda, tak jak chce żeby to wyglądało.
upubliczniam bo czasami ktoś napisze mi coś mądrego zamiast wytykać że brzydkie nazwy. Ja rozumiem że jak się pracuje w ten
@jaggi Czyli chciałbyś, żeby pod tagiem #codereview znaleźli się dobrzy ludzie, którym zależy i którzy mogliby dać Ci pomocne tipsy? Dobrze zrozumiałem? A dlaczego komukolwiek ma zależeć na tym kodzie skoro Tobie na nim nie zależy ("pisze trochę na odwal")? Zrozum, że problem nie tkwi w tym, że czegoś nie wiesz, tylko w Twoim podejściu do tematu.

To trochę tak, jakbyś był początkującym pisarzem i wysyłał swoje próby do bardziej doświadczonych kolegów,
a co samego kodu, to serio, nie obrażę się, jak ktoś mi powie co jest złego w tym ifie, o którym pisał @westsajd.


@jaggi: w tym ifie złe jest to, że musiałem spytać się Ciebie co on robi. Zobacz o ile czytelniej byłoby napisać coś w stylu

if(!fieldIsAvailableToPlay(i,j){...}