Du bist nicht angemeldet.

Werbeanzeige

Wirago

Alter Hase

Beiträge: 1 214

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

101

28.05.2012, 20:01

ich weiß ja nicht, ob ihr schon mal mim NetBeans eine GUI gebastelt habt, aber ich finde den generierten Code einfach krank. Aber immerhin wird in dem Kommentar darauf hingewiesen bloß die Finger davon zu lassen ^^

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
   

    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        fieldFinish = new javax.swing.JTextField();
        fieldName = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        fieldColor = new javax.swing.JTextField();
        fieldBrand = new javax.swing.JTextField();
        listTypes = new javax.swing.JComboBox<String>(ListManager.TYPES);
        btnOK = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        fieldComment = new javax.swing.JTextArea();

        jLabel1.setText("Name: ");

        fieldFinish.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fieldFinishActionPerformed(evt);
            }
        });

        jLabel4.setText("Finish: ");
        jLabel3.setText("Color: ");
        jLabel2.setText("Brand: ");
        btnOK.setText("OK");

        fieldComment.setColumns(20);
        fieldComment.setRows(5);
        fieldComment.setText("Comment");
        jScrollPane1.setViewportView(fieldComment);
        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        this.getContentPane().setBackground(new java.awt.Color(189, 159, 219));
        setLocation(605, 200);
        
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(fieldName))
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel2)
                            .addComponent(jLabel3)
                            .addComponent(jLabel4))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(fieldColor)
                            .addComponent(fieldBrand)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(fieldFinish, javax.swing.GroupLayout.PREFERRED_SIZE, 121, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, Short.MAX_VALUE))))
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(listTypes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnOK, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(fieldName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(fieldBrand, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(fieldColor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4)
                    .addComponent(fieldFinish, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(listTypes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnOK))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        pack();
    }// </editor-fold>

DeKugelschieber

Community-Fossil

Beiträge: 2 664

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

freedmo

Frischling

Beiträge: 23

Beruf: Student - Bachelor of Science Angewandte Informatik

  • Private Nachricht senden

103

28.05.2012, 22:19

Ich kenne diese generierten Code. Ich finde die noch mit sowenig übersichtlich.
Doch Pack mal noch mehr rein, dann ist es ein Spaß sich das Anzuschauen.
Aber der generierte Code ist von Qualität Top.

xardias

Community-Fossil

Beiträge: 2 771

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

104

29.05.2012, 02:20

Ich hab letztens zum ersten mal code anpassen muessen der im alten C stil geschrieben wurde... ekelig!

C-/C++-Quelltext

1
2
3
4
5
6
7
errorhandler(display,error)
Display *display;
XErrorEvent *error;
{
    if(error->error_code!=BadWindow)
        (*defaulthandler)(display,error);
}

BlueCobold

Community-Fossil

Beiträge: 10 859

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

105

06.06.2012, 13:14

C-/C++-Quelltext

1
2
3
4
5
                if (!findSomethingById(id).isEmpty()) {
                    return true;
                } else {
                    return false;
                }

:dash:
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

drakon

Supermoderator

Beiträge: 6 529

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

106

06.06.2012, 13:27

Ein Klassiker. Passiert mir allerdings auch immer mal wieder.
Spätestens beim "false;" merke ichs dann aber aber. ^^

Architekt

Community-Fossil

Beiträge: 2 490

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

107

06.06.2012, 14:05

Passiert auch bei unseren Dozenten oft. Aber weder die noch viele der Studenten merken den Fehler überhaupt. o.O
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

drakon

Supermoderator

Beiträge: 6 529

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

108

06.06.2012, 15:10

Ist ja auch kein Fehler. Man kann auch argumentieren, dass es so leserlicher ist. Respektive das hier:

C-/C++-Quelltext

1
2
3
4
5
if (findSomethingById(id).isEmpty()) {
    return false;
} else {
    return true;
}

vs. das hier:

C-/C++-Quelltext

1
return !findSomethingById(id).isEmpty();

Das erste finde ich schneller verständlich, als das zweite, was ich doch ein wenig genauer anschauen/überlegen muss um zu verstehen was da genau gilt.

dot

Supermoderator

Beiträge: 9 833

Wohnort: Graz

  • Private Nachricht senden

109

06.06.2012, 15:13

Ich find das zweite auf jeden Fall besser. Ich denk, dass es potentiell auch dem Compiler ermöglicht besser zu optimieren.

drakon

Supermoderator

Beiträge: 6 529

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

110

06.06.2012, 15:21

Ich find da halt die Umkehrung des boolschen Wertes "gefährlich". Die erste Variante ist da expliziter und sticht mehr ins Auge, wenn man es liest.
Und dot: Du willst jetzt nicht ernsthaft das Optimierungskriterium bringe, oder? ;)

Werbeanzeige