- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
class cout_mt : public std::ostringstream
{
public:
~mt_ostream()
{
std::cout << str();
}
};
#define cout static_cast<cout_mt&>(cout_mt())
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+142
class cout_mt : public std::ostringstream
{
public:
~mt_ostream()
{
std::cout << str();
}
};
#define cout static_cast<cout_mt&>(cout_mt())
Для того чтобы не разрывались строки вида: cout << "Value = " << value << ";" << endl; при использовании таких вызовов из нескольких тредов, а то ведь каждый оператор << является вызовом функции и частенько треды мешаю друг другу выводить . . .
+987
enum State
{
NotOpened = __LINE__;
Waiting = __LINE__;
Opened = __LINE__;
Finished = __LINE__;
Terminated = __LINE__;
};
+1005
#define KB * 1024
#define MB KB KB
#define GB MB KB
#define TB GB KB
int main( ... )
{
char * arr = new char [16 MB];
...
}
+157
// ...
// xcrement - (in|de)crement
// ...
bool parse( . . . , int xcrement, . . . )
{
...
while ( ... )
{
...
index += xcrement;
}
...
}
+132
assert(!"Can't change this parameter.");
+81
Network notwork = null;
Ну и естественно, что нихрена не работает...
+74
public void write(byte[] bytesToSend) {
// System.out.println("Write begin.");
try {
socket.setSoTimeout(10000);
packageID = 0;
// Add bytes to send
saveBytesToPackeges(bytesToSend);
// Begin new Thread to be sure it was delivered
mySendChecker = new SendChecker();
Thread myThread = new Thread(mySendChecker);
myThread.start();
byte[] buf2 = new byte[50];
// Sending number of packeges
byte[] buf = bytesFromInt(numberOfPackages);
for (int i = 0; i < 4; i++) {
buf2[i] = buf[i];
}
packageID = -2;
buf = packetFromBytes(buf2, sizeOfPackage - 4);
DatagramPacket myPacket = new DatagramPacket(buf, buf.length,
addressToSendTo, portToSendTo);
socket.send(myPacket);
mySendChecker.setPacket(-2, myPacket);
// recieve answer
socket.receive(myPacket);
buf = myPacket.getData();
mySendChecker.removePacket(-2);
// send delieverer
buf = packetFromBytes(buf2, sizeOfPackage - 4);
socket.send(myPacket);
// starting to send data
for (int i = 0; i < numberOfPackages; i++) {
myPacket = new DatagramPacket(bytesToSendSave[i],
bytesToSendSave[i].length, addressToSendTo,
portToSendTo);
socket.send(myPacket);
mySendChecker.setPacket(i, myPacket);
}
// start to recieve answers
int numberOfPackegeRecieved = 0;
while (true) {
buf = new byte[8];
if (mySendChecker.isEmpty()) {
break;
}
myPacket = new DatagramPacket(buf, buf.length);
socket.receive(myPacket);
buf = myPacket.getData();
numberOfPackegeRecieved = intFromBytes(buf, 4);
if (-3 != intFromBytes(buf, 4)) {
continue;
}
numberOfPackegeRecieved = intFromBytes(buf, 0);
mySendChecker.removePacket(numberOfPackegeRecieved);
myPacket = new DatagramPacket(buf, buf.length, addressToSendTo,
portToSendTo);
socket.send(myPacket);
}
buf = bytesFromInt(-5);
myPacket = new DatagramPacket(buf, buf.length, addressToSendTo,
portToSendTo);
socket.send(myPacket);
mySendChecker.setPacket(-5, myPacket);
// System.out.println("WRITE Sending -5");
while (true) {
buf = new byte[4];
myPacket = new DatagramPacket(buf, buf.length);
socket.receive(myPacket);
buf = myPacket.getData();
if (-5 == intFromBytes(buf, 0)) {
// System.out.println("WRITE recieved -5");
break;
}
}
mySendChecker.end();
socket.setSoTimeout(100);
while (true) {
try {
socket.receive(myPacket);
} catch (SocketTimeoutException e) {
break;
}
}
socket.setSoTimeout(0);
// System.out.println("Write end.");
... TO BE CONTINUED ...
Лучшая реализация потокового протокола поверх UDP среди студентов. Остальное в таком же стиле.
+167
function getItemsList ($category_id, $page_number, $count, $sort) {
ini_set ('display_errors', 'Off');
$arr = $this->grabber_api_class->loadItemsByCategoryID ($category_id, $page_number, $count, $sort);
ini_set ('display_errors', 'On');
return $arr;
}
+119
private static bool TryDeleteFile(string path)
{
try
{
File.Delete(path);
return true;
}
catch (IOException e)
{
return false;
}
catch (UnauthorizedAccessException e)
{
return false;
}
catch (ArgumentException ae)
{
return false;
}
catch (NotSupportedException e)
{
return false;
}
}
Простое удаление файла. Простая проверка в MSDN показывает, что перехватываются все возможные исключения
+114
function user_report_1()
{
global $dbServer,$dbPort,$dbUser,$dbPwd;
mysql_connect($dbServer.':'.$dbPort,$dbUser,$dbPwd);
mysql_query('Set charset cp1251');
mysql_select_db("DB");
$Sql='SELECT
`авто`.`ИмяОМ`, `авто`.`МаркаАвто`,`авто`.`ГосРегНомер`, `типыавто`.`Тип`, `цветавто`.`Цвет`
FROM
`зао мирком`.`авто`
INNER JOIN `зао мирком`.`типыавто` ON `авто`.`ТипАвто` = `типыавто`.ID
INNER JOIN `зао мирком`.`цветавто` ON `авто`.`ЦветМашины` = `цветавто`.ID
WHERE
`авто`.`Организация` = '.$_SESSION['ID'];
$result=mysql_query($Sql);
$html="<table>";
$html.="<tr><th>Название</th><th>Марка авто</th><th>Гос номер</th><th>Тип авто</th><th>Цвет авто</th></tr>";
while($row=mysql_fetch_row($result))
{
$html.="<tr>";
foreach($row as $val)
{
$html.="<td>$val</td>";
}
$html.="</tr>";
}
$html.="</table>";
return $html;
}
?>
<script>
function update(Elname,HtmlText)
{
var El=document.getElementById(Elname); // Находим елемент Elname в дереве DOM
El.innerHTML=HtmlText;
}
</script>
......
<tr><td><button onClick="update('work','<? echo(user_report_1())?>')">Отчет 1</button></td></tr> // Вот таких кнопочек там 5 штук
......
Заходит пользователь на страницу и ему сразу 5 отчетов генерируется а нужны они ему или не нужны это другой вопрос. Вот это я нагородил 1,5 года назад.