- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
class GridPanel extends JPanel {
protected Point myLocation;
@Override
public Point location() {
return this.myLocation;
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+146
class GridPanel extends JPanel {
protected Point myLocation;
@Override
public Point location() {
return this.myLocation;
}
}
убивал бы за такое.
+158
$arTime = localtime();
//формируем ядро номера заказа, которое будем подцеплять к разным префиксам
$orderNumberCore = str_pad($arTime[4]+1, 2, "0", STR_PAD_LEFT).str_pad($arTime[3], 2, "0", STR_PAD_LEFT).str_pad($arTime[2], 2, "0", STR_PAD_LEFT).str_pad($arTime[1], 2, "0", STR_PAD_LEFT).str_pad($arTime[0], 2, "0", STR_PAD_LEFT);
Формируется номер заказав интернет-магазине из даты/времени. Но при этом не учитывается год.
$orderNumberCore -- это дата в формате dmhis.
+146
protected void displayBoard() {
for (int i = 0; i < this.viewArea.getComponentCount(); i++) {
Component next = this.viewArea.getComponent(i);
next.paint(next.getGraphics());
}
try {
Thread.currentThread();
Thread.sleep(50);
} catch (Exception e) {
}
}
странный код. Особенно не понял строку 7
+166
// 0. original version:
struct Subscriber {
ServiceConfig *services;
};
struct ServiceConfig {
};
// reported problem: as per doc, Customer may have multiple service configurations, yet we can configure only one.
// 1. next "fixed" version, as delivered to the customer:
struct Subscriber {
};
struct ServiceConfig {
Subscriber *subs;
};
// ticket reopened: wtf. changing services for one customer, affects others!!
// 2. next "fixed" version, as delivered to the customer:
struct Subscriber {
ServiceConfig *services;
};
struct ServiceConfig {
};
// ticket reopened: @#$%^& [*BEEP*] @#$%^& [*BEEP*] @#$%^&*
// 3. finally:
struct Subscriber {
};
struct ServiceConfig {
};
struct SubscriberServiceConfig {
Subscriber *subs;
ServiceConfig *services;
};
если бы лично не лицезрел эту переписку (навечно задокументированую в аналах вершн контрол) между нашими разработчиками и консультантами работающими на инсталяции у кастомера, нивжисть бы не поверил что такое даже может иметь место.
самое страшное в этой истории, что консультанты разработчикам с самого начала сказали что в коде данные организованы неправильно по сравнению с тем как данные хранятся в базе.
+163
<?
class Thread {
<...>
function Thread($proc_id) {
$this->db=new ezSQL_mssql(s_login, s_password, s_db_name_threads, s_host);
$this->proc_id=$proc_id;
$this->timeout=500;
$this->last_busy=0;
$this->notactive_num=0;
$query="INSERT INTO threads(proc_id, last_beat) VALUES('".$this->proc_id."','".(time()+60)."');";
$this->db->query($query);
}
static function Create($url,$proc_id) {
$t = new Thread($proc_id);
//### execute thread
//NB!!!
//BE CAREFUL WITH LOG PATHS, IF YOU MISS OR MISSPEL THE PATH, IT IS HARDLY POSSIBLE TO DEBUG
//IF YOU MISSPELL THE PATH YOU CAN FACE THE PROBLEM OF THREADS SIMPLY DO NOT START OR DO NOT LOG WITHOUT ANY NOTIFICATION
//USE YOUR OWN PATHS FOR PHP, LOGS AND COMMAND LINE COMMANDS AD PARAMETERS FOR YOUR SPECIFIC OS, WINDOWS EXAMPLE IS BELOW
//start /B will execute background process in windows, > symbol will store the output of current process into log file
//you can call threads from another server via http request etc.
pclose(popen("start /B \"$proc_id\" C:\php\php.exe D:\wwwroot\\newimport\elko\import_ignitor_thread.php > D:\globalimport\logs\\".$proc_id.".txt $proc_id","r"));
//give some time to start the thread
Sleeper(1000);
return $t;
}
//check is Thread active or not
//check active, busy, last beat etc.
//you can put here your own business logic how thread should be checked for statused etc.
function isActive () {
if($this->state==3){
return false;
}elseif ($this->last_busy==1){
return true;
}
$cur_time=time();
if($cur_time>$this->last_beat){
$result=$this->db->get_var("SELECT last_beat FROM threads WHERE proc_id=".$this->proc_id);
$this->state=$this->db->get_var("SELECT state FROM threads WHERE proc_id=".$this->proc_id);
if($cur_time<$result){
return true;
}
}else{
return true;
}
return true;
}
//check is Thread is busy or not, in order to give a new task/job
//it is similat to the previous procedure
function isBusy() {
//$this->tell("ping"); - this could be implemented in the future
$cur_time=time();
if($cur_time>$this->last_beat or $this->last_busy==0){
$result=$this->db->get_var("SELECT busy FROM threads WHERE proc_id=".$this->proc_id);
$this->last_busy=$result;
if($result==1){
return true;
}else{
return false;
}
}else{
return false;
}
}
//tells a command to the thread
function tell($thought, $params = NULL) {
$param=base64_encode(serialize($params));
$query="INSERT INTO cmd(proc_id, cmd, param) VALUES('".$this->proc_id."','".$thought."','".$param."');";
$this->db->query($query);
}
}
'многопоточность'
+157
<?php
function Sleeper($mSec)
{
// For dummies like me who spent 5 minutes
// wondering why socket_create wasn't defined
if(!function_exists('socket_create')){
die("Please enable extension php_sockets.dll");
}
// So the socket is only created once
static $socket=false;
if($socket===false){
$socket=array(socket_create(AF_INET,SOCK_RAW,0));
}
$pSock=$socket;
// Calc time
$uSex = $mSec * 1000;
// Do the waiting
socket_select($read=NULL,$write=NULL,$pSock,0,$uSex);
// OCD
return true;
}
что бы гк делал без этого чудесного языка..
+160
<?php
...
while (OCIFetch($stmt))
{
$kID = OCIResult($stmt, 'KID');
$kModel = OCIResult($stmt,'KMODEL');
$pName = OCIResult($stmt,'PNAME');
$sWidth = OCIResult($stmt,'SWIDTH');
$sHeight = OCIResult($stmt,'SHEIGHT');
$sRadius = OCIResult($stmt,'SRADIUS');
$kPrice_opt = OCIResult($stmt,'KPRICE_OPT');
$kPrice_rozn = OCIResult($stmt,'KPRICE_ROZN');
$kKolvo = OCIResult($stmt,'KKOLVO');
echo " <tr>
<td align='center'><input type=radio name=tUP value ='$kID'/></td>
<td align='center'>$kID</td>
<td align='center'>$kModel</td>
<td align='center'>",$sWidth,"/",$sHeight,"/",$sRadius,"</td>
<td align='center'>$pName</td>
<td align='center'>$kPrice_opt</td>
<td align='center'>$kPrice_rozn</td>
<td align='center'>$kKolvo</td>
<td align='center'>
<a href='images/kolesa/",$pName,"/",$kModel,".jpeg' rel='lytebox'>
<img height='20' width='20' src='images/pic.jpg'/>
</a>
</td>
</tr>";
}
....
?>
+129
#include <intrin.h>
#include <stdarg.h>
#include <stdio.h>
int func()
{
va_list vl;
int i;
int arg,Z=1;
va_start(vl,*(int *)_AddressOfReturnAddress());
for(i=0;i<5;i++)
{
arg=va_arg(vl,int);
Z=arg*Z;
}
return(Z);
}
int main(void)
{
printf("%d",func(1,2,3,4,5));
getchar();
return 0;
}
гуру-вычисление факториала пяти одного красавчика с форума wasm.ru... был выведен, как пример функции с переменным числом параметров без единого явного параметра... грязный хак с адресом возврата на стеке - моя идея)))
+164
for($i=0;$i<count($ads_garage);$i++){
switch($ads_garage[$i]['adv_type']){
case "buy":
$adv_type='покупка';
break;
case "sell":
$adv_type='продажа';
break;
case "exchange":
$adv_type='обмен';
break;
case "lease":
$adv_type='аренда';
break;
case "rent":
$adv_type='прокат';
break;
case "candidate":
$adv_type='кандидатура';
break;
case "vacancy":
$adv_type='вакансия';
break;
case "":
$adv_type='-';
break;
}
тут такого ещё наверно не было
+166
function f1(element){
if (element.value.length == 3 && event.keyCode != 8){
document.getElementById('phone2').focus();
}
}
function f2(element){
// Возврат в phone1 после стирания первого символа в phone2:
if (element.value.length == 0 && event.keyCode == 8){
setCaretPosition(document.getElementById('phone1').value.length, inp = 'phone1');
}
// Переход в phone3 после ввода третьего символа в phone2:
if(element.value.length == 3 && event.keyCode != 8){
document.getElementById('phone3').focus();
}
}
function f3(element){
// Возврат в phone2 после стирания первого символа в phone3:
if (element.value.length == 0 && event.keyCode == 8){
setCaretPosition(document.getElementById('phone2').value.length, inp = 'phone2');
}
// Переход в phone4 после ввода второго символа в phone3:
if(element.value.length == 2 && event.keyCode != 8){
document.getElementById('phone4').focus();
}
}
function f4(element){
// Возврат в phone3 после стирания первого символа в phone4:
if (element.value.length == 0 && event.keyCode == 8){
setCaretPosition(document.getElementById('phone3').value.length, inp = 'phone3');
}
}
function f5(element){
if (element.value.length == 4 && event.keyCode != 8){
document.getElementById('phone6').focus();
}
}
function f6(element){
// Возврат в phone5 после стирания первого символа в phone6:
if (element.value.length == 0 && event.keyCode == 8){
setCaretPosition(document.getElementById('phone5').value.length, inp = 'phone5');
}
}
function setCaretPosition(pos, inp){
var ctrl = document.getElementById(inp);
if(ctrl.setSelectionRange){
ctrl.focus();
ctrl.setSelectionRange(pos, pos);
}
else if(ctrl.createTextRange){
var range = ctrl.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}
проверка на корректность ввода телефона