#1 2011-11-03 21:33:40

januszs

Użytkownik

Zarejestrowany: 2010-10-20
Posty: 121
Punktów :   11 

Java semantyka i pogadanka :P

nie wiedziałem, czy wrzucić ten post do java, czy do offtop niech admin zadecyduje, gdyż jest to wpis blogo-podobny.

do tematu...

miałem ostatnio pogadankę z zawodowcem (można powiedzieć z Java Programmer w jednej z tych międzynarodowych korporacji) o moim małym projekcie. po wspólnych oględzinach mojego kodu przeprowadziliśmy poważną rozmowę na temat błędów (których w kompilacji nie było...) i rzeczy które powinno się inaczej "tworzyć".  o niektórych można dowiedzieć się z książek, o niektórych można usłyszeć na wykładzie lub podczas laboratorium, a jeszcze o innych z innych źródeł (fora, dobre rady profesjonalistów). ja postanowiłem wrzucić tu kilka takich ciekawych porad i uwag. jeżeli macie coś do dodania to zapraszam, gdyż z pewnością można będzie coś z tego wynieść :P

1. nazwy zmiennych i funkcji piszemy małą literą w notacji Camel. np: mojaZmienna, setData(), getData(), itd.

2. nazwy klas piszemy dużą literą w notacji Camel. np JOptionPane, JFrame, JPanel, System, itd.

3. nazwy stałych wielkimi literami. np EXIT_ON_CLOSE, DO_NOTHING_ON_CLOSE, itd.

4. jeden plik jedna klasa

5. formatujmy kod, używajmy wcięć - ułatwia to czytanie kodu

6. nie piszmy złożonych konstruktorów. wrzucajmy do nich wywołania funkcji, które odwalają całą robotę, bo pozwala to bez większego problemu dodawać kolejne konstruktory

7. jeżeli ciało funkcji nie mieści się na ekranie - podzielmy funkcję na kilka mniejszych funkcji, co ułatwi czytanie kodu i poprawianie błędów

8. nazywajmy funkcje tak, byśmy wiedzieli po nazwie jednoznacznie co ta funkcja robi

9. używajmy refactoringu (jest szybciej niż pisać z palca lub chociaż stosujmy te same nazewnictwo funkcji)

10. try...catch to za mało! pani na wykładzie nie powie nam, że czasem to nie wystarcza... trzeba dorzucić finally kilka linijek więcej ale pewność, że w jakimś dziwnym przypadku program się nie wykrzaczy

11. rada dla przyzwyczajonych do C++: tablica tylko tam gdzie nie da się skorzystać z innych dostępnych pojemników

12. jedno zadanie jeden pakiet(package): pakiet GUI, pakiet BazaDanych, pakiet Connection, itd. itp.

13. starajmy się minimalizować kod - nie ma co się oszukiwać Java nie jest demonem szybkości (.NET też nie :P)

14. komentarze, komentarze, komentarze :D

15. najpierw zaprojektuj, wymodeluj a na końcu koduj

to tyle.... na razie ode mnie

AD 10

Kod:

    public void zapiszListe()
    {
        byte tab[];
        FileOutputStream p;
        try
        {          
            p = new FileOutputStream("lista.d");
            BufferedOutputStream b = new BufferedOutputStream(p);
            p.write(ile);
            for (int i=0;i<ile;i++)
            {
                p.write(chList[i].length());
                tab=new byte[chList[i].length()];
                tab=chList[i].getBytes();
                p.write(tab);               
            }
            p.close();
        } catch (IOException e) { JOptionPane.showMessageDialog(null, e); }
        finally p.close // w tej konstrukcji na pewno zamkniemy strumień do pliku 
    }

mało tego zamiast String[] chList można użyć (ŚMIAŁO!) ArrayList<String> chList; ale o tym innym razem

tipps&tricks...
jak ustawić okno na środku ekranu?

pierwszy sposób:

Kod:

this.setLocation(Toolkit.getDefaultToolkit().getScreenSize().width/2-this.getwidth()/2, Toolkit.getDefaultToolkit().getScreenSize().height/2-this.getHeight()/2);

drugi sposób:

Kod:

this.setLocationRelativeTo(null);

ciekawy przykład pętli for:
załużmy, że mamy do policzenia sumę ciągu a[]

Kod:

public double sumaCiagu(double []a)
{
     double sum=0;
     for(double d : a)
         sum+=d;
     return sum;
}

powyższy przykład użycia pętli for stosuje się do tablic, list, kolekcji itp.

Ostatnio edytowany przez januszs (2011-11-04 20:04:06)


Nie pytajcie po co to robię http://images.chomikuj.pl/button/jsszczytna.gif

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
https://sperli.pl/en/