- 1
- 2
- 3
- 4
if(url.getProtocol().equals("http") || true)
{
// ...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+70
if(url.getProtocol().equals("http") || true)
{
// ...
}
Индийский код добрался и до Android...
+145
return !!$this->db->where('id', $for_id)->update($for, $row);
ояебал, у них наверное где-то склад с веществами
+68
package bytestring;
public class Main {
public static void main(String[] args) {
String source = new String("A ya sdelal etu hren s perevorotom stroki s ispolzovaniem bayta");
byte bytes[] = source.getBytes();
////////////////////////////////////////////////////////////////////////
int i, j;
int length, first, last;
byte a;
length = bytes.length;
//Переворачиваем всю строку
for(i = 0; i < length / 2; i++) {
a = bytes[i];
bytes[i] = bytes[length - i - 1];
bytes[length - i - 1] = a;
}
//Переворачиваем каждое слово строки
first = 0;
for(i = 1; i <= length; i++)
if(i == length || bytes[i] == ' ') {
last = i - 1;
for(j = first; j <= first + (last - first) / 2; j++) {
a = bytes[j];
bytes[j] = bytes[first + last - j];
bytes[first + last - j] = a;
}
first = i + 1;
}
////////////////////////////////////////////////////////////////////////
char destination[] = new char[bytes.length];
for(i = 0; i < bytes.length; i++)
destination[i] = (char) bytes[i];
System.out.println(String.copyValueOf(destination));
}
}
+159
// TODO: use Virtual memory instead of heap!
#ifndef __CHUNK_H__
#define __CHUNK_H__
#include <windows.h>
#include "../JuceLibraryCode/JuceHeader.h"
class Chunk {
public:
enum CHUNK_DIRECTION {CHUNK_UNKNOWN = 0, CHUNK_IN, CHUNK_OUT};
Chunk (DWORD ChunkSize, WORD id, CHUNK_DIRECTION chunkDirection);
~Chunk ();
// override
virtual void eventChunkIsEmpty () {
Logger::outputDebugString(T("empty"));
}
virtual void eventChunkIsFull () {
Logger::outputDebugString(T("full"));
}
virtual void eventChunkOverrun () {
Logger::outputDebugString(T("overrun"));
}
DWORD getData (WORD *data, DWORD size) {
if (data == 0) return 0;
if (cs.tryEnter ()) { // if it's true, we locked.. (TODO: check, i'm not sure about that)
if (((size + nReadCounter) > nWriteCounter) || size == 0) { cs.exit(); return 0; }
memcpy (data, pBuffer + nReadCounter, size*sizeof(WORD));
nReadCounter += size;
if (nReadCounter == nWriteCounter) { eventChunkIsEmpty() ; nWriteCounter = 0; nReadCounter = 0; }
cs.exit ();
return size;
}
return 0;
}
DWORD putData (WORD *data, DWORD size) {
if (data == 0) return 0;
if (cs.tryEnter ()) { // if it's true, we locked.. (TODO: check, i'm not sure about that)
if ((size + nWriteCounter) > nSize) { eventChunkOverrun(); cs.exit (); return 0; }
memcpy (pBuffer + nWriteCounter, data, size*sizeof(WORD));
nWriteCounter += size;
if (nWriteCounter == nSize ) eventChunkIsFull();
cs.exit ();
return size;
}
return 0;
}
inline DWORD getSize () {
return nSize;
}
// TODO: add check for nWriteCounter?
inline bool setSize (DWORD ChunkSize) {
if (bExchangeIsActive) return false;
nSize = ChunkSize;
// TODO: add result check.
pBuffer = (WORD*) realloc ((void*)pBuffer, ChunkSize*sizeof(WORD));
if (pBuffer) return true;
return false;
}
inline DWORD getReadCounter () { return nReadCounter; }
inline DWORD getWriteCounter () { return nWriteCounter; }
juce_UseDebuggingNewOperator
protected:
bool bExchangeIsActive;
CHUNK_DIRECTION cdDirection;
DWORD nSize;
DWORD nWriteCounter;
DWORD nReadCounter;
WORD nChunkId;
WORD *pBuffer;
CriticalSection cs;
};
#endif
// EOF
#include "Chunk.h"
Chunk::Chunk (DWORD ChunkSize, WORD id, CHUNK_DIRECTION chunkDirection) {
bExchangeIsActive = false;
cdDirection = chunkDirection;
nSize = ChunkSize;
nWriteCounter = 0;
nReadCounter = 0;
nChunkId = id;
pBuffer = (WORD*) malloc (ChunkSize*sizeof(WORD));
zeromem (pBuffer, ChunkSize*sizeof(WORD));
}
Chunk::~Chunk () {
if (pBuffer) free (pBuffer);
}
// EOF
Посвящается всем изобретателям велосипедов и просто неудачникам.. :(
+168
function cleanUrl( $url ){
$new_url = str_replace( " ", "-", $url );
$new_url = str_replace( "/", "-", $new_url );
$new_url = str_replace( "--", "-", $new_url );
$new_url = str_split( $new_url );
$new_url = preg_grep( "<[A-Za-z0-9-_]+>", $new_url );
$new_url = trim( implode( $new_url ) );
$new_url = strtolower($new_url);
// Was still getting cases of double hyphens
$new_url = str_replace( "--", "-", $new_url );
return $new_url;
}// end function - cleanUrl
Спасаю "Говнокод.ру" пехапе шедевром.
+165
if (count($arResult[$j]["DATA"])!=1) $btw_max = count($arResult[$j]); else $btw_max = 0;
if ($btw_max ==2) $btw_max =1;
for ($k=0;$k<$btw_max;$k++){...}
Суть проблемы, есть массив $arResult[$j]["DATA"], последний элемент которого лишний, его выводить не надо, для этого чувак сделал следующее
Вместо того, чтобы это значения не добавлять в массив при его заполнении, либо исключив последний элемент при выводе. В общем труЪ говнокод :D
+112
sSQLTitle := 'SELECT CASE WHEN (VTSS.WRKORDNO IS NOT NULL)'
+' THEN VTSS.WRKORDNO ELSE VTW.WRKORDNO END AS '''+RSNumDok+''','
+' CASE WHEN (VTSS.GRECNO IS NOT NULL) THEN VTSS.GRECNO ELSE VTW.GRECNO END AS '''+RSSchet+''','
+' CASE WHEN (VTSS.STYPE IS NOT NULL) THEN VTSS.STYPE ELSE VTW.STYPE END AS '''+RSDocType+''','
+' CASE WHEN (VTSS.ServD IS NOT NULL) THEN VTSS.ServD ELSE VTW.ServD END AS '''+RSOpen+''','
+' CASE WHEN (VTSS.BILLD IS NOT NULL) THEN VTSS.BILLD ELSE VTW.BILLD END AS '''+RSClose+''','
+' CASE WHEN (VTSS.FULLNAME IS NOT NULL) THEN VTSS.FULLNAME ELSE VTW.FULLNAME END AS '''+RSClient+''','
+' CASE WHEN (VTSS.PAYNAME IS NOT NULL) THEN VTSS.PAYNAME ELSE VTW.PAYNAME END AS '''+RSPlatelwik+''','
+' CASE WHEN (VTSS.VIN IS NOT NULL) THEN VTSS.VIN ELSE VTW.VIN END AS '''+RSVIN+''','
+' CASE WHEN (VTSS.GNUMER IS NOT NULL) THEN VTSS.GNUMER ELSE VTW.GNUMER END AS '''+RSGosNomer+''','
+' CASE WHEN (VTSS.HSMANID IS NOT NULL) THEN VTSS.HSMANID ELSE VTW.HSMANID END AS '''+RSOtvetstv+''','
+' CASE WHEN (VTSS.LBACK IS NOT NULL) THEN VTSS.LBACK ELSE VTW.LBACK END AS '''+RSReturn+''','
+' VTSS.FULLSUMMA AS '''+RSSumItems+''','
+' VTW.SUMMA AS '''+RSSumWork+'''';
with DataMdl.adsADODataSet do
begin
Active := false;
if rbAllDate.Checked then
{$REGION 'Поиск по всем датам'}
case rgZakazType.ItemIndex of
0: //поиск по открытым заказ-заявкам
CommandText:=sSQLTitle
+' FROM'
+' (SELECT VTS.WRKORDNO,'
(...)
+' SUM(SUMMA) AS FULLSUMMA'
+' FROM'
+' (SELECT GS.WRKORDNO,'
+' GB.GRECNO,'
+ sSQLCase
+' CONVERT(varchar(10), GS.ServD, 104) AS ServD,'
+' CONVERT(varchar(10), GB.BILLD,104) AS BILLD,'
+' CASE'
+' WHEN C.FNAME IS NULL THEN C.LNAME'
+' WHEN C.LNAME IS NULL THEN C.FNAME'
+' ELSE C.FNAME+'' ''+C.LNAME'
+' END AS FULLNAME,'
// +' C.LNAME + '' '' + C.FNAME AS FULLNAME,'
+' CS.PNAME AS PAYNAME,'
+' V.SERIALNO AS VIN,'
+' V.LicNo AS GNUMER,'
+' GB.HSMANID,'
+' CASE WHEN (GS.CREDIT IS NULL)OR (GS.CREDIT <> 1) THEN NULL ELSE '''+RSReturn+''' END AS LBACK,'
+' GW.NAME,'
+' SUM(GW.ORDNUM) AS '''+RSQuantity+''','
+' SUM(GW.ORDNUM)*GW.UNITPR AS SUMMA'
+' FROM GSAL'+sPostfix+' GS LEFT OUTER JOIN'
+' GROW'+sPostfix+' GW ON (GS.GSALID = GW.GSALID) LEFT OUTER JOIN'
+' GBIL'+sPostfix+' GB ON (GS.GSALID = GB.GSALID) LEFT OUTER JOIN'
+' VEHI V ON (GS.VEHIID = V.VEHIID) LEFT OUTER JOIN'
+' CUST C ON (GS.CUSTNO = C.CUSTNO) RIGHT OUTER JOIN'
+' (SELECT CustNo, Lname + '' '' + FNAME AS PNAME'
+' FROM CUST WITH (NOLOCK))'
+' CS ON (GB.CUSTNO = CS.CUSTNO)'
+' WHERE (GS.STATUS = ''A'') AND (GW.RTYPE IN (1,2))' +sSQLWhere
+' GROUP BY GW.ITEM, GW.NAME, GW.UNITPR,'
+' GS.WRKORDNO, GB.Grecno, GS.ServD, GB.BILLD, C.LNAME, C.FNAME,'
+' CS.PNAME, V.SERIALNO, V.LicNo, GB.HSMANID, GS.CREDIT, GW.RECMTIME, GS.STYPE)'
+' VTS'
+' CASE WHEN (GS.CREDIT IS NULL)OR (GS.CREDIT <> 1) THEN NULL ELSE '''+RSReturn+''' END AS LBACK,'
+' GW.NAME,'
+' SUM(GW.ORDNUM) AS '''+RSQuantity+''','
+' SUM(GW.ORDNUM)*GW.UNITPR AS SUMMA'
+' FROM GSAL'+sPostfix+' GS LEFT OUTER JOIN'
+' GROW'+sPostfix+' GW ON (GS.GSALID = GW.GSALID) LEFT OUTER JOIN'
+' GBIL'+sPostfix+' GB ON (GS.GSALID = GB.GSALID) LEFT OUTER JOIN'
+' VEHI V ON (GS.VEHIID = V.VEHIID) LEFT OUTER JOIN'
+' CUST C ON (GS.CUSTNO = C.CUSTNO) RIGHT OUTER JOIN'
+' (SELECT CustNo, Lname + '' '' + FNAME AS PNAME'
...
... и так далее. НАПИСАНО ВРУЧНУЮ! Всего 420 строк, 4 подзапроса, связанных через full outer join. 16 тысяч записей 4-x ядерный mssql server обрабатывал таким образом минуты две. Я уж промолчу, как он по строкам в Delphi разбит...
Два дня врубался, как оно работает, переписал за два часа. 58 строк, включая каждое поле из select с новой строки :)
+104
if doc_lang='UA' then filename:=ExtractFileDir(Application.ExeName)+'/docs/sales_slip_MS_UA.xlt';
if doc_lang='RU' then filename:=ExtractFileDir(Application.ExeName)+'/docs/sales_slip_MS_RU.xlt';
Классика жанра, и так пол проги((((((
+117
private XmlNode GetListItemsXML(bool _flag, string _param, SPList _list)
{
SPQuery oEmptyQuery = new SPQuery();
SPListItemCollection spliColl;
XmlReaderSettings sett = new XmlReaderSettings();
Stream stream;
XmlReader reader;
XmlDocument listItems = new XmlDocument();
string str = "";
try
{
switch (_flag)
{
case true:
//select division
oEmptyQuery.Query = "<Where><Eq><FieldRef Name=\"URL\"/><Value Type=\"Text\">" + _param + "</Value></Eq></Where>";
spliColl = _list.GetItems(oEmptyQuery);
str = c_my_headFile + spliColl.Xml;
str.Replace("\r\n", "");
stream = new MemoryStream(new UTF8Encoding(true).GetBytes(str));
sett.ConformanceLevel = ConformanceLevel.Auto;
reader = XmlReader.Create(new StringReader(str), sett);
listItems.LoadXml(str);
return listItems.SelectSingleNode("xml").ChildNodes[1].ChildNodes[0];
//return listItems.SelectSingleNode("xml").ChildNodes[1];
case false:
//select articles
//_x0420__x0430__x0437__x0434__x04
oEmptyQuery.Query = "<Where><Eq><FieldRef Name=\"_x0420__x0430__x0437__x0434__x04\" LookupId=\"TRUE\" /><Value Type=\"Lookup\">" + _param + "</Value></Eq></Where>";
spliColl = _list.GetItems(oEmptyQuery);
str = c_my_headFile + spliColl.Xml;
str.Replace("\r\n", "");
stream = new MemoryStream(new UTF8Encoding(true).GetBytes(str));
sett.ConformanceLevel = ConformanceLevel.Auto;
reader = XmlReader.Create(new StringReader(str), sett);
listItems.LoadXml(str);
//return listItems.SelectSingleNode("xml").ChildNodes[1].ChildNodes[0];
return listItems.SelectSingleNode("xml").ChildNodes[1];
}
}
catch (XmlException)
{
return null;
}
catch (Exception)
{
return null;
}
return null;
}
Метод, у которого говорящая сигнатура. Увидев ее можно сразу понять что делает этот мегакусок.
Если кто-нибудь поймет зачем создается экземпляр ридера - объясните. Блин я не понял, честно... xD
(SPQuery и др. это опять же SharePoint API.)
−159
if( !ruleWithLongName1 )
{
return;
}
if( !ruleWithLongName2 )
{
return;
}
if( !ruleWithLongName3 )
{
return;
}
if( !ruleWithLongName4 )
{
return;
}
if( !ruleWithLongName5 )
{
return;
}
клевый кусочек (повторяется в нескольких функциях) имена условий изменены, но скажу что они не Boolean типа