- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
if ("5".equals(pid)) {
} else {
if ("1".equals(pid) || "4".equals(pid)) {
type = "fl";
} else if ("6".equals(pid)){
type = "nw";
}else {
type = "ul";
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+79
if ("5".equals(pid)) {
} else {
if ("1".equals(pid) || "4".equals(pid)) {
type = "fl";
} else if ("6".equals(pid)){
type = "nw";
}else {
type = "ul";
}
}
Из базы формируется дерево элементов для меню. Там же есть какая-то сортировка. Меняем в базе сортировку, а все работает по-старому. Лезем копать и находим.
+72
/**
* @return node with values
*/
public FQNode getValueGetter() {
return data;
}
accessor c повышенной энтропией, хуле
+72
LOG.error(msg);
Writer writer = new StringWriter();
e.printStackTrace(new PrintWriter(writer, true));
LOG.error(writer.toString());
Паранойя... А вдруг LOG неправильно стэк трейс напечатает при передаче эксепшена вторым параметром.
+142
/**
* Конфигурация программы
*
* 2 конструктора:
- по умолчанию - загружающий данные из файла настроек (см. Configuration.CONFIGURATION_FILENAME);
- с одним параметром java.util.Properties - загружающий данные данные из него.
- метод save()
- без параметра - записывает данные в Configuration.CONFIGURATION_FILENAME
- с одним параметром java.util.Properties - записывает данные в него.
*/
public class Configuration {
public static final String CONFIGURATION_FILENAME = System.getProperty("user.home") + "/serialmon/1.properties";
private PortConfig firstPort;
private PortConfig secondPort;
private String logFileName;
private int logWidth;
public Configuration() {
this.firstPort = new PortConfig();
this.secondPort = new PortConfig();
Properties pp = new Properties();
try {
File PropFile = new File(CONFIGURATION_FILENAME);
if (!PropFile.exists()) {
PropFile.createNewFile();
}
FileInputStream inPropFile = new FileInputStream(CONFIGURATION_FILENAME);
pp.load(inPropFile);
setProperties(pp);
} catch (IOException e) {
e.printStackTrace();
}
}
public Configuration(Properties p) {
this.firstPort = new PortConfig();
this.secondPort = new PortConfig();
setProperties(p);
}
/**
* вспомогательный метод. В идеале можно было обойтись без него, вызывая из конструктора по умолчанию
* конструктор с параметром Properties, но ПЕРЕД вызовом этого конструктора нужно было
* загрузить данные из файла в Properties pp, а потом уже вызвать конструктор.
* Это сделать не возможно, т.к. вызов конструктора должен быть ПЕРВЫМ.
*
* @param pp
*/
private void setProperties(Properties pp){
this.setLogFileName(pp.getProperty("logFileName"));
this.setLogWidth(Integer.parseInt(pp.getProperty("logWidth")));
}
/**
* - метод save()
* без параметра - записывает данные в Configuration.CONFIGURATION_FILENAME
*/
public void save() {
Properties pp = new Properties();
save(pp);
try {
FileOutputStream outPropFile = new FileOutputStream(CONFIGURATION_FILENAME);
pp.store(outPropFile, null);
} catch(IOException ex) {
ex.printStackTrace();
}
}
/**
* - с одним параметром java.util.Properties - записывает данные в него.
*
* @param p
*/
public void save(Properties p) {
p.put("logFileName", this.getLogFileName());
p.put("logWidth", String.valueOf(this.getLogWidth()));
}
Товарищи, возникла необходимость создания двух конструкторов. Хочется вызвать один из другого, чтобы было красиво, НО перед вызовом второго, который с параметром Properties, нужно установить этот самый параметр, а потом уже передать его.
Т.е. нужно в конструкторе по умолчанию сделать такое:
Properties p = new Properties();
p.set(бла бла бла);
THIS(P); // как вы понимаете, компилятор будет ругаться, что вызов THIS должен быть ПЕРВЫМ в конструкторе.
вызов типа this(new Properties), не годится.
сейчас, как можно видеть, использую вспомогательный метод setProperties, как раз без которого было бы идеально.
+70
class GGPoint extends Object {
}
Вспомнилась первая работа с китайцами, где юзали их базовую часть, надстройку над gwt, так вот приходилось такое встречать. Думаю этого достаточно=)
+78
while(epsilon --> 0) {
...
}
+70
FORMAT.format(Calendar.getInstance().getTime())
Ну в календаре-то явно точнее время.
+74
private int getDSR(ViolationCache violation){
int dsr = 0;
for (StandardViolationCache standardViolation : violation.getStandardViolations()) {
dsr = Integer.valueOf(standardViolation.getOrigPointAssignment()) > dsr ? Integer.valueOf(standardViolation.getOrigPointAssignment()) : dsr;
}
return dsr;
}
Изящненько...
+73
public Show extractDefault(Extract request) {
CriteriaBuilder criteriaBuilder = converter.convertToDO(request);
List<EntityDO> list = dao.extract(criteriaBuilder, 0, Byte.MAX_VALUE);
if (list.size() != 8) {
if (list.size() != 0) {
throw new AssertionError(list.size());
}
criteriaBuilder = createCriteriaBuilder();
list = dao.extract(criteriaBuilder, 0, 100);
}
if (list.size() != 8) {
throw new IllegalStateException("Entity not found");
}
return converter.convertToSystem(list);
}
Решил запостить код, который дергает сущность из базы как явный говнокод, но после повторного просмотра уже и не кажется таким уж ужасным. Разве что в extract передаются разные значения pagesize(3-ий аргумент) и list.size() сравнивается не понятно. А что скажет общественность?
+74
for (Tm_RecipientConstructor recipient: m_Recipients) {
Tm_PHB_Contact m_Contact = recipient.getContact();
if ( m_Contact != null) {
if(m_Contact.getMobile()!=null) {
st.setLong(1,recipient.getEntry().getID());//nWebEntryID
st.setLong(2,Tm_Registry.getInstance().getAttachementTypes().getID(En_AttachementType.ARGUMENT));//NTYPE
st.setString(3,"mobile");//STRNAME
st.setLong(4,Tm_Registry.getInstance().getAttributeType().getID(En_AttributeType.STRING));//NDATATYPE
st.setString(5,m_Contact.getMobile());//STRVALUE
st.addBatch();
index++;
if (index % 5000 == 0){
st.executeBatch();
st.clearBatch();
st = conn.prepareStatement(sql);
}
}
if(m_Contact.getName()!=null) {
st.setLong(1,recipient.getEntry().getID());//nWebEntryID
st.setLong(2,Tm_Registry.getInstance().getAttachementTypes().getID(En_AttachementType.ARGUMENT));//NTYPE
st.setString(3,"first_name");//STRNAME
st.setLong(4,Tm_Registry.getInstance().getAttributeType().getID(En_AttributeType.STRING));//NDATATYPE
st.setString(5,m_Contact.getName());//STRVALUE
st.addBatch();
index++;
if (index % 5000 == 0){
st.executeBatch();
st.clearBatch();
st = conn.prepareStatement(sql);
}
}
if(m_Contact.getSurName()!=null) {
st.setLong(1,recipient.getEntry().getID());//nWebEntryID
st.setLong(2,Tm_Registry.getInstance().getAttachementTypes().getID(En_AttachementType.ARGUMENT));//NTYPE
st.setString(3,"last_name");//STRNAME
st.setLong(4,Tm_Registry.getInstance().getAttributeType().getID(En_AttributeType.STRING));//NDATATYPE
st.setString(5,m_Contact.getSurName());//STRVALUE
st.addBatch();
index++;
if (index % 5000 == 0){
st.executeBatch();
st.clearBatch();
st = conn.prepareStatement(sql);
}
}
if(m_Contact.getPatrName()!=null) {
st.setLong(1,recipient.getEntry().getID());//nWebEntryID
st.setLong(2,Tm_Registry.getInstance().getAttachementTypes().getID(En_AttachementType.ARGUMENT));//NTYPE
st.setString(3,"second_name");//STRNAME
st.setLong(4,Tm_Registry.getInstance().getAttributeType().getID(En_AttributeType.STRING));//NDATATYPE
st.setString(5,m_Contact.getPatrName());//STRVALUE
st.addBatch();
index++;
if (index % 5000 == 0){
st.executeBatch();
st.clearBatch();
st = conn.prepareStatement(sql);
}
}
if(m_Contact.getCompanyName()!=null) {
st.setLong(1,recipient.getEntry().getID());//nWebEntryID
st.setLong(2,Tm_Registry.getInstance().getAttachementTypes().getID(En_AttachementType.ARGUMENT));//NTYPE
st.setString(3,"company");//STRNAME
st.setLong(4,Tm_Registry.getInstance().getAttributeType().getID(En_AttributeType.STRING));//NDATATYPE
st.setString(5,m_Contact.getCompanyName());//STRVALUE
st.addBatch();
index++;
if (index % 5000 == 0){
st.executeBatch();
st.clearBatch();
st = conn.prepareStatement(sql);
}
}
if(m_Contact.getComment()!=null) {
st.setLong(1,recipient.getEntry().getID());//nWebEntryID
st.setLong(2,Tm_Registry.getInstance().getAttachementTypes().getID(En_AttachementType.ARGUMENT));//NTYPE
st.setString(3,"comments");//STRNAME
st.setLong(4,Tm_Registry.getInstance().getAttributeType().getID(En_AttributeType.STRING));//NDATATYPE
st.setString(5,m_Contact.getComment());//STRVALUE
st.addBatch();
index++;
if (index % 5000 == 0){
st.executeBatch();
st.clearBatch();
st = conn.prepareStatement(sql);
}
}
}
}
Функции? Не, не слышал.