Wątek przeniesiony 2015-04-19 15:43 z Off-Topic przez somekind.

Z ciekawości, który kod byście zastosowali?

0
    Oval vectorDot;
    for (Vector v : vectors) {
        if (clickPoint.invertY(300).inside(vectorDot = new Oval(v, 10))) 
        // something
    }
    for (Vector v : vectors) {
        Oval vectorDot = new Oval(p, 10);
        if (clickPoint.invertY(300).inside(vectorDot)) 
        // something
    }
0

Raczej drugi.

0

2

0

te 2 kody robia cos innego.

edit: no ale zakladajac ze to to samo to oczywiscie 2

0

A ja trzeci

    Oval vectorDot = new Oval(p, 10);
    for (Vector v : vectors) {        
        if (clickPoint.invertY(300).inside(vectorDot)) 
        // something
    }
0

A ja 4, bo nienawidzę takiego stylu jak zaprezentowane.

Mój przykład:

for (Vector v : vectors) 
{
     Oval vectorDot = new Oval(p, 10);
     if (clickPoint.invertY(300).inside(vectorDot)) 
        // something
}
2

2 bo go rozumiem od ręki i nie muszę się wczytywać w to co robisz w IFie (inicjalizacja).

technicznie można by też od biedy zrobić tak by Oval miał metodę contains, która by pozwoliła na zmianę zapisu na:

for (Vector v : vectors) {
     Oval vectorDot = new Oval(v, 10);
     if (vectorDot.contains(clickPoint.invertY(300))) 
        // something
}

co w dalszej kolejności pozwoliło by na stworzenie konstrukcji:

for (Vector v : vectors) {
     Oval vectorDot = new Oval(v, 10);
     vectorDot.whenContains(clickPoint.invertY(300), doSth);
}

z której możemy usunąć zmienną

for (Vector v : vectors) {
     Oval.of(v, 10).whenContains(clickPoint.invertY(300), doSth);
}

i na koniec święta trójca map, filter, forEach:

vectors
  .map(v->Oval.of(v, 10)) // to można zastąpić Oval::of10, gdy of10 = Oval.of(v, 10)
  .filter(ov -> ov.contains(clickPoint.invertY(300))) // clickPoint.invertY(300) - ja bym to wyciągnął do jakiejś zmiennej
  .forEach(doSth);

W efekcie masz kod, który opisuje co chcesz wykonać z kolekcją, a szczegółami wykonania zajmuje się język.

1 użytkowników online, w tym zalogowanych: 0, gości: 1