Proponuję przeczytać "Czysty Kod" Wujka Boba, gdyż:
- w ten sposób nie nazywa się metod:
public void SaveExcel(Customer customer, JTable jtable) throws FileNotFoundException, IOException, InvalidFormatException{
- formatowanie pionowe naprawdę ma znaczenie:
public void setName(String name){
this.name = name;
}
- komentarze w takim przypadku są passe:
//funkcja któraprzyjmuje liste obiejktów customer i zwraca wiersz z jego danymi przedzielonymi #
public String getClientInfo(ArrayList<Customer> theList){
- 'magic number' nie pomagają w czytaniu kodu:
if(t.getValueAt(x, 1) == null){
break;
}
I tak dalej i tak dalej... Z innych rzeczy to to powinno być stałymi:
int initialRow = 15;
int cellLP = 2;
int cellTowar = 3;
int cellCena = 12;
int cellRabat = 15;
Takie rzeczy nie powinny istnieć:
workbookCopy = Workbook.createWorkbook(new File("C://Users//Gosia//Desktop//Clients.xls"), workbook);
ale o tym napisał już @Shalom
Pola powinny być prywatne:
Customer customer1;
WritableWorkbook workbookCopy;
Workbook workbook;
WritableSheet sheetCopy;
Sheet sheet;
File excelFile;
File excel;
Takie rzeczy z kodu usuwa się najlepiej od razu ponieważ jeśli za miesiąc siądziesz do aplikacji to dam sobie rękę uciąć że będziesz się zastanawiał "co autor miał na myśli" i czy to jeszcze jest potrzebne czy nie:
//CellStyle style = wb.createCellStyle();
//style.setWrapText(true);
Ciekaw jestem w jaki sposób w tym miejscu mogą polecieć te wyjątki :o
public void createCustomerFromTable(String[] t) throws IOException, BiffException, WriteException{
this.name = t[0];
this.sureName = t[1];
this.address = t[2];
this.nazwaFirmy = t[3];
this.nip = t[4];
}
W pracy często ludzie pytają mnie dlaczego tak się czepiam formatowania pionowego... No właśnie dlatego, potem zamiast spójnego kodu mamy nawalone spacji i enterów bo tak było wygodniej. NIE NIE i NIE. Formatowanie pionowe MA ZNACZENIE.
Metoda:
public void writeExcelTable(JTable t) throws IOException, BiffException, WriteException{
całkowicie do poprawy. Duplikacja kodu jest bardzo bee a naprawdę widać jak łatwo i szybko można to skrócić.
Widoków nawet nie sprawdzam bo widzę że NetBeans działał ostro :)
Proponuję:
- Poczytać o wzorcu MVP
- Przeczytać czysty kod
- Aplikację zostawić sobie na pamiątkę ale schować i przepisać od nowa.
Ps.
/**
* Hibernate Utility class with a convenient method to get Session Factory
* object.
*
* @author Gosia
*/
public class NewHibernateUtil {
Bywasz czasem kobietą ;> ?