powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / какие ошибки допущены?
20 сообщений из 20, страница 1 из 1
какие ошибки допущены?
    #37918755
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем привет
гляньте на код = может он слишком избыточен, есть ошибки кодинга или оформления кода?
Код: java
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.
package myform;

import java.awt.*;
import library.pvclass;

public class form extends javax.swing.JFrame {
  
  public int[] arr_scr;
  public int wScreen,hScreen,wForm,hForm,leftForm,topForm;
  public javax.swing.JFrame frm;
  public pvclass pvc;
  
  form()
  {
    this.frm = new javax.swing.JFrame();
    this.pvc = new pvclass();  
    this.arr_scr = pvc.screenSize();
    this.wScreen = arr_scr[0];
    this.hScreen = arr_scr[1];
    this.wForm = wScreen - 100;
    this.hForm = hScreen - 100;
    this.leftForm = (wScreen - wForm)/2;
    this.topForm = (hScreen - hForm)/2 - 20;
      frm.setTitle("New Form");
      frm.setSize(wForm, hForm);
      frm.setLocation(leftForm, topForm);
  }
  
  public static void main ( String args[] )
  {
    form obj = new form();
    obj.frm.setVisible(true);
  }
  
}


заранее благодарен
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37918839
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На счет оформления кода: откройте Netbeans или другую IDE и, щелкнув правой кнопкой по коду, выберите Format.
или вы в блокноте все пишите?
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37918845
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему метод form() у вас ничего не возвращает? и нет его характеристики относительно доступности для других классов.

должно быть примерно так:

Код: java
1.
2.
3.
4.
private void form()
{
// foo
}
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37918857
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixicпочему метод form() у вас ничего не возвращает? и нет его характеристики относительно доступности для других классов потому что это конструктор в котором инициализируется что-то
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37918859
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
переменные можно, конечно, и так объявить как у вас
Код: java
1.
public int wScreen,hScreen,wForm,hForm,leftForm,topForm;


но лучше каждую отдельно и если вам не надо их использовать в других классах, сделать из private.
Код: java
1.
2.
3.
4.
5.
6.
public int wScreen,
private int hScreen;
private int wForm;
private int hForm;
private int leftForm;
private int topForm;



Можно вообще модификатор доступа не указывать, тогда переменные становятся package-private, как я понял, доступны в рамках пакета, где класс лежит.. Но никогда такое не использовал. Подробнее здесь .
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37918866
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buyboyNixicпочему метод form() у вас ничего не возвращает? и нет его характеристики относительно доступности для других классов потому что это конструктор в котором инициализируется что-то
Тогда имя класса (даже не тогда, а всегда) должно быть с большой буквы. И конструктора - соответственно тоже. Методы называют с маленькой буквы, я поэтому и подумал что это метод, не смотря на имя класса.
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37918871
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у конструктора, кстати, тоже должен быть модификатор доступа
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37918878
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После extends я бы написал сразу JFrame, т.е. без пути. "javax.swing."
и вынес бы в импорт

import javax.swing.JFrame;
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37918883
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buyboy, жесть
Код: java
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.
package myform;

import java.awt.*;
import library.pvclass;

public class form extends javax.swing.JFrame {
  
//уберите все паблики  
public int[] arr_scr;
  public int wScreen,hScreen,wForm,hForm,leftForm,topForm;
  public javax.swing.JFrame frm;//зачем тогда form расширяет JFrame если тут у вас еще один JFrame, убирайте extends
  public pvclass pvc;//это что?
  
  form()//а вот тут поставьте паблик, иначе из другого пакета не создадите экземпляр класса
  {
    this.frm = new javax.swing.JFrame();
    this.pvc = new pvclass();  
    this.arr_scr = pvc.screenSize();
    this.wScreen = arr_scr[0];
    this.hScreen = arr_scr[1];
    this.wForm = wScreen - 100;
    this.hForm = hScreen - 100;
    this.leftForm = (wScreen - wForm)/2;
    this.topForm = (hScreen - hForm)/2 - 20;
      frm.setTitle("New Form");
      frm.setSize(wForm, hForm);
      frm.setLocation(leftForm, topForm);
  }
  
  public static void main ( String args[] )
  {
    form obj = new form();
    obj.frm.setVisible(true);
  }
  
}
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37918893
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixicно лучше каждую отдельно
так нагляднее - согласен, но захотелось сократить количество строк
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37918894
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NixicПосле extends я бы написал сразу JFrame, т.е. без пути. "javax.swing." и вынес бы в импорт
ценно! спасибо!
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37918899
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не все так страшно )))
1. Имена классов называют с большой буквы.
2. Методы класса называют с маленькой буквы.
так принято.
3. Поля классов делают private, а обращаются к ним из других классов через геттеры и сеттеры.
4. У конструктора должен стоять модификатор public, а имя точно такое же как у класса.
5. Переменные объявляйте каждую отдельно, так нагляднее и проще удалить (всю строку) в случае ненадобности.
В принципе это я итоги подвел ))
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37918902
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NixicНе все так страшно )))
мне побыть ламером не хочется - но придется
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37918907
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixic,
Nixic4. У конструктора должен стоять модификатор public,
Не должен, а может.
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37919075
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что касается взаиморасположения блоков объявления полей, конструктора и главного метода?
если объявдяется много переменных и/или конструктор получается громоздким - может все это можно располагать в нижней части класса?
ну чтобы не скролить каждый раз до рабочего метода если строк кода слишком много?
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37919081
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buyboy,
а смысл? любая IDE имеет тот или иной навигатор по методам, скроллить никуда не надо, и main такой же метод как все остальные. Не загоняйтесь по форме пока, загоняйтесь по содержанию.
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37919090
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buyboy,
Вам очень не хватает вот этого
http://www.oracle.com/technetwork/java/codeconv-138413.html
Так же очень рекомендую вот этот сайт
http://www.javapractices.com/home/HomeAction.do
И вот эту книгу
http://www.ozon.ru/context/detail/id/1425895/

Для быстрого старта самое то.
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37919093
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
что-то вы сегодня всем это советуете. Супчик дня?))
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37919098
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buyboyа что касается взаиморасположения блоков объявления полей, конструктора и главного метода?
если объявдяется много переменных и/или конструктор получается громоздким - может все это можно располагать в нижней части класса?
ну чтобы не скролить каждый раз до рабочего метода если строк кода слишком много?

пофиг-веники, могу ошибаться, но я всегда делаю так:

класс
{
переменные.
конструктор.
методы.
}

Можно все в конструктор пихать, а можно в отдельный метод, но после объявления его исполнять (мне так больше нравится). Так что расположение не особо важно.
Кроме того, есть у меня классы почти по 3 тыс строк (интерфейс там нагроможденный сильно), так что там без разницы, так и так приходится скролить, а иногда даже пейдждаунить, а иногда даже использовать Navigator по классу! )))
...
Рейтинг: 0 / 0
какие ошибки допущены?
    #37919114
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerBlazkowicz,
что-то вы сегодня всем это советуете. Супчик дня?))
13019516
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / какие ошибки допущены?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]