- 1
final int mazeBlockSize = mazeBlock.getIconWidth(); // it is square, OKAY?!
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+70
final int mazeBlockSize = mazeBlock.getIconWidth(); // it is square, OKAY?!
Как я пакмена писал
+70
@OnEvent("search")
@ReportGritter(title = "message:error", text = "message:database_error")
Results search() {
final List<Result> results = new ArrayList<Result>();
int count = 0;
final List<?> search1 = this.bands.search(this.query);
final String group1 = HSSearch.GROUP_BANDS;
if (!search1.isEmpty()) {
results.addAll(this.transform(search1, group1));
count += search1.size();
}
final List<?> search2 = this.albums.search(this.query);
final String group2 = HSSearch.GROUP_ALBUMS;
if (!search2.isEmpty()) {
results.addAll(this.transform(search2, group2));
count += search2.size();
}
final List<?> search3 = this.tracks.search(this.query);
final String group3 = HSSearch.GROUP_TRACKS;
if (!search3.isEmpty()) {
results.addAll(this.transform(search3, group3));
count += search3.size();
}
this.results.setResults(results);
this.results.setCount(count);
return this.results;
}
private <E> String toTitle(final E item) {
if (item instanceof BandEntity) {
return ((BandEntity) item).getTitle();
}
if (item instanceof AlbumEntity) {
final AlbumEntity aitem = (AlbumEntity) item;
return String.format("%s (%d)", aitem.getTitle(), Integer.valueOf(aitem.getYear()));
}
if (item instanceof TrackEntity) {
return ((TrackEntity) item).getTitle();
}
return item.toString();
}
private <E> String toUrl(final E item) {
if (item instanceof BandEntity) {
final BandEntity bitem = (BandEntity) item;
return this.links.createPageRenderLinkWithContext(Band.class, bitem.getLetter(), bitem.getAlias())
.toAbsoluteURI();
}
if (item instanceof AlbumEntity) {
final AlbumEntity aitem = (AlbumEntity) item;
return this.links.createPageRenderLinkWithContext(Album.class, aitem.getBand().getLetter(),
aitem.getBand().getAlias(), aitem.getAlias()).toAbsoluteURI();
}
if (item instanceof TrackEntity) {
final TrackEntity titem = (TrackEntity) item;
return this.links.createPageRenderLinkWithContext(Album.class, titem.getAlbum().getBand().getLetter(),
titem.getAlbum().getBand().getAlias(), titem.getAlbum().getAlias()).toAbsoluteURI();
}
return this.links.createPageRenderLinkWithContext("").toAbsoluteURI();
}
private <E> List<Result> transform(final List<E> search, final String groupName) {
final ArrayList<Result> res = new ArrayList<Result>();
if (!search.isEmpty()) {
final String group = this.messages.get(groupName);
res.add(new Result(group));
for (final E item : search) {
res.add(new Result(group, this.toTitle(item), this.toUrl(item)));
}
}
return res;
}
DRY in Action.
мое домашнее творчество.
+70
package <hostname>.sbrf.taxaccounting.service.impl;
import org.junit.Test;
import <hostname>.sbrf.taxaccounting.service.FormDataService;
public class FormDataServiceTest {
private FormDataService formDataService;
public void tearUp() {
formDataService = new FormDataServiceImpl();
}
@Test
public void testCheckMandatoryColumns() {
}
}
Зато он используются юнит тесты
и посмотрите внимательно кому это делается)))
вот такие вот у нас тесты :)
+70
private String formatString(String input, int lenght){
String result = "";
int len = lenght - input.length();
int left = Math.round(len/2);
int right = len - left;
for(int i=0; i<left; i++){
result = " " + result;
}
result = result + input;
for(int i=0; i<right; i++){
result = result + " ";
}
return result;
}
выравнивание текста в центре пустой строки фиксированной ширины.
+70
public static final void setManager(String name, MessageManager manager) {
if ("doc".equals(name)) {
doc = manager;
} else {
throw new RuntimeException("name is not 'doc' : " + name);
}
}
Просто эпично! Даже добавить нечего
+70
if (!formules.isEmpty()) {
for (String tag : formules) {
.....
// и вот здесь шедевр:
}
// а здесь ничего нет
}
Не гоняем цикл вхолостую
+70
protected SocketChannel getSockById(int id)
{
Iterator<SocketChannel> i = clientSock.iterator();
while(i.hasNext())
{
SocketChannel s = i.next();
if(s.hashCode() == id)
return s;
}
return null;
}
Инетесно, о чём думал автор в момент создания этого шедевра
+70
<?php
$nodata = 'nodata';
$A60 = doubleval(@$HTTP_POST_VARS['A60']);
$B60 = doubleval(@$HTTP_POST_VARS['B60']);
$C60 = doubleval(@$HTTP_POST_VARS['C60']);
$D60 = doubleval(@$HTTP_POST_VARS['D60']);
$F60 = doubleval(@$HTTP_POST_VARS['F60']);
$G60 = doubleval(@$HTTP_POST_VARS['G60']);
$H60 = doubleval(@$HTTP_POST_VARS['H60']);
$I60 = doubleval(@$HTTP_POST_VARS['I60']);
$J60 = doubleval(@$HTTP_POST_VARS['J60']);
$K60 = doubleval(@$HTTP_POST_VARS['K60']);
$L60 = doubleval(@$HTTP_POST_VARS['L60']);
$M60 = doubleval(@$HTTP_POST_VARS['M60']);
echo $A60;
if (($A60 < 0) || ($B60 < 0) || ($C60 < 0) || ($D60 < 0) || ($F60 < 0) || ($G60 < 0) || ($H60 < 0) || ($I60 < 0) || ($J60 < 0) || ($K60 < 0) || ($L60 < 0) || ($M60 < 0)) {
readfile("cerror.html"); exit; }
if (($A60 == 0) && ($B60 == 0) && ($C60 == 0) && ($D60 == 0) && ($F60 == 0) && ($G60 == 0) && ($H60 == 0) && ($I60 == 0) && ($J60 == 0) && ($K60 == 0) && ($L60 == 0) && ($M60 == 0)) {
readfile("cerror.html"); exit;}
$D1 = @($A60);
$A2 = @(405.2);
$B2 = @((0.9 + 0.8) / 2);
$C2 = @(8);
$D2 = @($A60 / 3);
$E2 = @(0.00000012);
$F2 = @(exp(-1.60978 + 0.021845 * ($A2 / exp(3 * $B2)) - 0.000186 * pow($A2 / exp(3 * $B2), 2) + 0.0000011 * pow($A2 / exp(3 * $B2), 3)) * exp($B2 * (0.674 + 0.2 * $B2 + 0.007577 * ($A2 / exp(3 * $B2)) + 0.0084248753 * ($A2 / exp(3 * $B2)) * $B2 + 0.0000224434 * pow($A2 / exp(3 * $B2), 2))) * $E2 * $D2);
$I2 = @(0.37);
$J2 = @(0.24);
$K2 = @(0.22);
$A3 = @(368.7);
$B3 = @((0.9 + 0.8) / 2);
$C3 = @(20);
$D3 = @($A60 / 3);
$E3 = @(0.000000013);
$F3 = @(exp(-1.60978 + 0.021845 * ($A3 / exp(2.5 * $B3)) - 0.000186 * pow($A3 / exp(2.5 * $B3), 2) + 0.0000011 * pow($A3 / exp(2.5 * $B3), 3)) * exp($B3 * (0.674 + 0.2 * $B3 + 0.007577 * ($A3 / exp(2.5 * $B3)) + 0.0084248753 * ($A3 / exp(2.5 * $B3)) * $B3 + 0.0000224434 * pow($A3 / exp(2.5 * $B3), 2))) * $E3 * $D3);
$I3 = @(0.37);
$J3 = @(0.24);
$K3 = @(0.22);
$A4 = @(621.4);
$B4 = @(0.9);
$C4 = @(36);
$D4 = @($A60 / 3);
$E4 = @(0.00000001);
$F4 = @(exp(-1.60978 + 0.021845 * ($A4 / exp(2.5 * $B4)) - 0.000186 * pow($A4 / exp(2.5 * $B4), 2) + 0.0000011 * pow($A4 / exp(2.5 * $B4), 3)) * exp($B4 * (0.674 + 0.2 * $B4 + 0.007577 * ($A4 / exp(2.5 * $B4)) + 0.0084248753 * ($A4 / exp(2.5 * $B4)) * $B4 + 0.0000224434 * pow($A4 / exp(2.5 * $B4), 2))) * $E4 * $D4);
$I4 = @(0.37);
// ..аналогичные вычисления и инициализация для остальных переменных типа "буква-число"
$D54 = @($M60 / 2);
$E54 = @(0.0000007);
$I54 = @(0.192);
$J54 = @(0.027);
$K54 = @(0);
$A55 = @(232.5);
$B55 = @((0.5 + 0.8) / 2);
$C55 = @(0);
$D55 = @($M60 / 2);
$E55 = @(0.00000009);
$I55 = @(0.192);
$J55 = @(0.027);
$D56 = @($D53 + $D46 + $D47 + $D48 + $D40 + $D35 + $D30 + $D26 + $D22 + $D18 + $D13 + $D9 + $D5 + $D1);
// поехали по новой считать какие-то средние значения...
$A1 = @(($A2 + $A3 + $A4) / 3);
$B1 = @(($B2 + $B3 + $B4) / 3);
$C1 = @(($C2 + $C3 + $C4) / 3);
$E1 = @(($E2 + $E3 + $E4));
$F1 = @(($F2 + $F3 + $F4));
$I1 = @(($I2 + $I3 + $I4) / 3);
$J1 = @(($J2 + $J3 + $J4) / 3);
$K1 = @(($K2 + $K3 + $K4) / 3);
$H2 = @($F2 * ($I2 + $K2));
$M2 = @(1 - exp(-$H2 * 8766.00));
$H3 = @($F3 * ($I3 + $K3));
$M3 = @(1 - exp(-$H3 * 8766.00));
$H4 = @($F4 * ($I4 + $K4));
$M4 = @(1 - exp(-$H4 * 8766.00));
// ещё немного кода...
$J53 = @(($J54 + $J55) / 2);
$K53 = @(($K54 + $K55) / 2);
$F54 = @(exp(-3.94361687 + 0.02181877 * ($A55 / exp(5 * $B55)) + 0.00000171 * pow($A55 / exp(5 * $B55), 2)) * exp($B54 * (3.464157793 + 0.0000789055 * ($A55 / exp(5 * $B55)))) * $E54 * $D54);
$H54 = @($F54 * ($I54 + $K54));
$M54 = @(1 - exp(-$H54 * 8766.00));
$F55 = @(exp(-3.94361687 + 0.02181877 * ($A56 / exp(5 * $B56)) + 0.00000171 * pow($A56 / exp(5 * $B56), 2)) * exp($B55 * (3.464157793 + 0.0000789055 * ($A56 / exp(5 * $B56)))) * $E55 * $D55);
$H55 = @($F55 * ($I55 + $K55));
$M55 = @(1 - exp(-$H55 * 8766.00));
// и ешё чуть-чуть....
$F10 = @(((293 / (273 + $A10 / exp(4.5 * $B10) + 3000 * $B10 / (125 + $A10 / exp(4.5 * $B10)))) * exp((1 / (273 + $A10 / exp(4.5 * $B10) + 3000 * $B10 / (125 + $A10 / exp(4.5 * $B10)))) - (1.00 / 293.00) + 2 * ($B10 - 1))) * $E10 * $D10);
$H10 = @($F10 * ($I10 + $K10));
$M10 = @(1 - exp(-$H10 * 8766.00));
$F11 = @(((0.75 + 0.104 * $B11 * exp(0.877 * pow($B11, 3))) * (273 + ($A11 / exp(4.6 * $B11))) / 293) * exp((390 + 190 * $B11) * (($A11 / exp(4.6 * $B11)) - 20 + 0.016 * pow($B11 * ($A11 / exp(4.6 * $B11) - 20), 2)) / (293 * (273 + ($A11 / exp(4.6 * $B11))))) * $E11 * $D11);
$H11 = @($F11 * ($I11 + $K11));
$M11 = @(1 - exp(-$H11 * 8766.00));
$F12 = @((pow($B12, 2) + 0.01) * exp((4500 + 400 * $B12 + 1400 * pow($B12, 3)) * ((1.00 / 293.00) - (1 / (273 + ($A12 / exp(8 * $B12)))))) * $E12 * $D12);
$G12 = @(($H11 - $F11 * $K11) * ($A12 / exp(8 * $B12) / $A12));
$H12 = @($F12 * ($I12 + $K12));
$L12 = @((1 - exp(-$G12 * 8766.00)));
$M12 = @(1 - exp(-$H12 * 8766.00));
// 650+ строк таких вычислений для каждой буквы-переменной
?>
Код получает несколько значений: кол-во моторов, транзисторов, микросхем и прочих элементов, после считает разные коэффициенты пожароопасности и шансы возгорания. Записывает их в таблицу и показывает на странице. Говорят, что это работает верно и уже около 6 человек защитили курсовые по этой теме(пожароопасность электроприборов) с использованием этого кода.
+70
if( (r == g) && (g == b) && (b == 255) )
{
// .....
}
...
+70
$device->logicalDevices = $device->getLogicalDevices();
ООП, такой ООП.