- 1
Пособие по тому, как не надо писать системы: http://file.qip.ru/file/fsBgpGob/index.html
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+152
Пособие по тому, как не надо писать системы: http://file.qip.ru/file/fsBgpGob/index.html
P.S.: за это заплатили товарищам 200 т.р.
+159
void CXMLParser::Parse(std::map< std::pair<int, int>, int >& link)
{
_di_IXMLNode areaNode = MessageNode->ChildNodes->FindNode( WideString("area") );
if( areaNode )
{
Area.reset( new CAreaPart( areaNode ) );
IXMLNodeList* pointList = areaNode->ChildNodes;
if( pointList )
{
for(int pointIndex=0; pointIndex<pointList->GetCount(); pointIndex++)
{
_di_IXMLNode pointNode = pointList->Get( pointIndex );
int typePoint = -1;
if( pointNode->GetNodeName() == WideString("measuringpoint") )
typePoint = MEASURING;
if( pointNode->GetNodeName() == WideString("accountpoint") )
typePoint = ACCOUNT;
if( pointNode->GetNodeName() == WideString("deliverypoint") )
typePoint = DELIVERY;
switch( typePoint )
{
case MEASURING:
case ACCOUNT:
case DELIVERY:
{
const int pointCode = pointNode->GetAttribute( WideString("code") );
const String pointName = pointNode->GetAttribute( WideString("name") );
IXMLNodeList* channelList = pointNode->ChildNodes;
if( channelList )
{
for(int channelIndex=0; channelIndex<channelList->GetCount(); channelIndex++)
{
_di_IXMLNode channelNode = channelList->Get( channelIndex );
if( channelNode->GetNodeName() == WideString("measuringchannel") )
{
const int channelCode = channelNode->GetAttribute( WideString("code") );
const String channelDesc = channelNode->GetAttribute( WideString("desc") );
IXMLNodeList* periodList = channelNode->ChildNodes;
if( periodList )
{
for(int periodIndex=0; periodIndex<periodList->GetCount(); periodIndex++)
{
_di_IXMLNode periodNode = periodList->Get( periodIndex );
if( periodNode )
{
String str = periodNode->GetAttribute( WideString("start") );
periodNode->GetAttribute( WideString("end") );
TDateTime time;
time = TDateTime( StrToInt( str.SubString( 1, 2 ) ), StrToInt( str.SubString( 3, 2 ) ), 0, 0 );
periodNode->GetAttribute( WideString("summer") );
time = IncMinute( time, 30 );
_di_IXMLNode valueNode = periodNode->ChildNodes->FindNode( WideString("value") );
if( valueNode )
{
const int status = valueNode->GetAttribute( WideString("status") );
const int value = StrToInt( valueNode->Text );
if( RTDBWrite )
{
map< pair<int, int>, int >::iterator i = link.find( make_pair( pointCode, channelCode ) );
if( i!=link.end() )
{
(*RTDBWrite)( Date->DateInterval.first + time, (*i).second, value, status );
}
}
}
}
}
}
}
}
}
}
}
}
}
}
RTDBWrite->Flush();
}
Древний legacy-код на БорландЦэпэпэБыдлере, обнаруживаемый на текущей работе (почти госпредприятие), выглядит в основной своей массе примерно так. Новый код на C# чуть получше, но в целом тоже жуткое мракобесие.
Сил больше нет работать с подобным, увольняюсь и ищу норм работу.
+148
vector<long long> fib;
for
(
long long a=1,b=1;
b=a+b,a=a+b,a>0&&b>0;
cout<<b<<" "<<a<<endl,
fib.push_back(b),
fib.push_back(a)
);
Just outputting fibonacci numbers as pairs and storing them in a vector...
+151
$a="Я";$b="учу";$c="php";
echo "$a $b $c";
if ($avt == 'Да') { echo 'Да'; }
if ($avt == 'Нет') { echo 'Нет'; }
if($avt == TRUE) {
echo "оляля"
}
else{
echo "не оляля"
}
http://skripters.biz/forum/topic_42181
//Вот они откуда беруться
+162
<?php
//Класс для получения и сохранения данных пользователя.
class User{
const TABLE = 'users';
//Создаём к каждому полю в таблице users переменную (всего столбцов в базе >45)
var $id = 0;
var $user_type = 'private';
var $name = '';
var $surname = '';
var $pk = '';
//.... Тут ещё около 40 переменных
var $contactMail = '';
var $contactPhone = '';
//....Конструктор, получение данных, сохранение данных
//Функции для получения данных пользователя
function getId() {return $this->id;}
function getUser_type() {return $this->user_type;}
function getName() {return $this->name;}
function getSurname() {return $this->surname;}
//.... Тут ещё около 40 аналогичных функций
function getContactMail() {return $this->contactMail;}
function getContactPhone() {return $this->contactPhone;}
//Функции для изменения данных пользователя (в конце нужно вызвать функцию для сохранения)
function setId($data) {$this->id = $data;}
function setUser_type($data) {$this->user_type = $data;}
function setName($data) {$this->name = $data;}
//.... Тут ещё около 40 аналогичных функций
function setContactPhone($data) {$this->contactPhone = $data;}
function setContact_type($data) {$this->contact_type = $data;}
//функция для сохранения данных
function save(){
$fields = Array();
$fields['user_type'] = $this->user_type;
$fields['name'] = $this->name;
//.... Тут ещё около 40 переменных
$fields['contactPhone'] = $this->contactPhone;
$fields['contact_type'] = $this->contact_type;
$this->id = Db::make(self::TABLE, $this->id, $fields);
return 1;
}
}
Класс для получения и сохранения данных пользователя.
Присутсвуют и аналогичные классы для других таблиц в которых количество переменных не меньше.
+155
/**
* return the current rule value
* @param String $rule
* @return Mixed
*/
public static function findRule($rule)
{
$criteria=new CDbCriteria;
$criteria->compare('rule',$rule);
$model = self::model();
$model->scenario = 'find_rule';
$result = $model->find($criteria);
if ($result !== NULL) {
if ($result->value === 'TRUE')
$result->value = true;
if ($result->value === 'FALSE')
$result->value = false;
return $result->value;
}else
return false;
}
Найдено в расширении для Yii Framework
Расширение userGroups
Расширение полезное, но пришлось переписать под себя кучу
+106
for(int iyhx=0; iyhx<nLen; iyhx++)
"А идите вы на iyhx."
+165
$daysName = array( 1=>'пн', 'вт', 'ср', 'чт', 'пт', 'сб', 0=>'вс', );
phpдатаизмы
+74
synchronized public void refreshConversionTable() {
btnClick = true;
if (dataModel != null)
dataModel.reset();
dataModel = null;
}
если модель данных существует, сначала сбросить все данные, а потом занулим....
+77
if (!employees.equals("") && employees != null) {