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
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:
this.setLocation(Toolkit.getDefaultToolkit().getScreenSize().width/2-this.getwidth()/2, Toolkit.getDefaultToolkit().getScreenSize().height/2-this.getHeight()/2);
drugi sposób:
this.setLocationRelativeTo(null);
ciekawy przykład pętli for:
załużmy, że mamy do policzenia sumę ciągu a[]
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)
Offline