- 1
- 2
- 3
if [ "valid" == "$x" ]; then
echo "x has the value 'valid'"
fi
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−103
if [ "valid" == "$x" ]; then
echo "x has the value 'valid'"
fi
One last point (of style): <...> is better because it avoids the possibility of accidentally assigning the string "valid" to x.
Йода-стайл теперь и в вашем баше.
+134
protected static DataTable[] ExecuteDataTablesReader(string ProcedureName, SqlParameter[] Params = null) {
SqlConnection cnn = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand(ProcedureName, cnn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
if (Params != null && Params.Count() > 0) {
cmd.Parameters.AddRange(Params);
}
cnn.Open();
IDataReader rd = cmd.ExecuteReader();
List<DataTable> tables = new List<DataTable>();
do {
DataTable dt = new DataTable();
dt.Load(rd);
tables.Add(dt);
} while (rd.NextResult());
return tables.ToArray();
}
может я чего не понимаю, но какого хера rd.NextResult() кидает мне exception, что ридер закрыт?
+135
public void Login(ClientHandlers<int> actions)
{
var request = GetGetRequest("/user/xml/{0}", _login);
var act = new Action<IRestResponse<GetUserInfoResult>>(response =>
{
if (CheckUserInfo(response))
{
throw new Exception("Невозможно получить информацию о пользователе\r\nНеобработанное исключение");
}
UserInfo = response.Data.UserInfo;
actions.Completed(UserInfo.idUser);
});
_client.ExecuteAsync(request, act);
}
private bool CheckUserInfo(IRestResponse<GetUserInfoResult> response)
{
if (response != null && response.Data != null && response.Data.UserInfo != null && response.Data.UserInfo.idUser != 0)
{
return true;
}
var message = "Невозможно получить информацию о пользователе";
if (response == null)
{
message = string.Format("{0}\r\n{1}",
message,
"Response is null");
throw new Exception(message);
}
message = string.Format("{0}\r\nResponse data is null\r\nContext: {1}",
message,
response.Content);
if (response.Data == null)
{
throw new Exception(message);
}
message = string.Format("{0}\r\nIs exception: {1}\r\nMessage: {2}",
message,
response.Data.IsException,
response.Data.Message);
if (response.Data.UserInfo == null)
{
throw new Exception(message);
}
message = string.Format("{0}\r\nSiteName: {1}\r\nUserName: {2}\r\nUserRole: {3}",
message,
response.Data.UserInfo.SiteName,
response.Data.UserInfo.UserName,
response.Data.UserInfo.UserRole);
if (response.Data.UserInfo.idUser == 0)
{
throw new Exception(message);
}
return false;
}
Внимательность, внимательность и еще раз внимательность...
+71
public static void main(String[] args) {
Map<String, ClassLink<?>> children = new HashMap<String, ClassLink<?>>();
children.put("test1", new ClassLink<Dall>());
children.put("test2", new ClassLink<Son>());
String test = children.get("test1").classObjectGenerator().getName();
test.toString();
}
static class ClassLink<X extends ChildBase> {
public X classObjectGenerator() {
return (X) new Dall();
};
}
static class Dall implements ChildBase {
public String getName() {
return "Ivan";
}
}
static class Son implements ChildBase {
public String getName() {
return "Vera";
}
}
interface ChildBase {
String getName();
}
Фабрика. Загнать в map легковесный класс - создатель, а когда понадобится - создать объект.
+133
if (*wpPat == L'\\')
{
wpCharStart=wpPat;
if (++wpPat >= wpMaxPat) goto Error;
if (*wpPat == L'x')
{
if (++wpPat >= wpMaxPat) goto Error;
if (*wpPat == L'{')
{
wpStrTmp=++wpPat;
for (;;)
{
if (wpPat >= wpMaxPat) goto Error;
if (*wpPat++ == L'}') break;
}
if (lpREGroupItem->nGroupLen != -1 && !bClassOpen)
{
nPatChar=(int)hex2decW(wpStrTmp, (wpPat - 1) - wpStrTmp);
if (nPatChar == -1)
{
wpPat=wpStrTmp;
goto Error;
}
if (nPatChar <= MAXWORD)
lpREGroupItem->nGroupLen+=1;
else
lpREGroupItem->nGroupLen+=2;
}
}
else
{
if (wpPat + 2 > wpMaxPat)
goto Error;
wpPat+=2;
if (lpREGroupItem->nGroupLen != -1 && !bClassOpen)
++lpREGroupItem->nGroupLen;
}
}
else if (*wpPat == L'u')
{
if (wpPat + 5 > wpMaxPat)
goto Error;
wpPat+=5;
if (lpREGroupItem->nGroupLen != -1 && !bClassOpen)
++lpREGroupItem->nGroupLen;
}
Регулярные велосипеды.
Akelpad.
+133
if (wParam == MI_CMDLINEBEGIN)
return xstrcpyW((void *)lParam, wpCmdLineBegin);
if (wParam == MI_CMDLINEEND)
return xstrcpyW((void *)lParam, wpCmdLineEnd);
if (wParam == MI_SHOWMODIFY)
return moCur.dwShowModify;
if (wParam == MI_STATUSPOSTYPE)
return moCur.dwStatusPosType;
if (wParam == MI_STATUSUSERFORMAT)
return xstrcpynW((void *)lParam, moCur.wszStatusUserFormat, MAX_PATH);
if (wParam == MI_WORDBREAKCUSTOM)
return moCur.dwWordBreakCustom;
if (wParam == MI_PAINTOPTIONS)
return moCur.dwPaintOptions;
if (wParam == MI_EDITSTYLE)
return moCur.dwEditStyle;
if (wParam == MI_RICHEDITCLASS)
return moCur.bRichEditClass;
if (wParam == MI_AKELADMINRESIDENT)
return moCur.bAkelAdminResident;
if (wParam == MI_DATELOGFORMAT)
return xstrcpynW((void *)lParam, moCur.wszDateLogFormat, 128);
if (wParam == MI_DATEINSERTFORMAT)
return xstrcpynW((void *)lParam, moCur.wszDateInsertFormat, 128);
if (wParam == MI_AKELUPDATEROPTIONS)
return xstrcpynW((void *)lParam, moCur.wszAkelUpdaterOptions, MAX_PATH);
if (wParam == MI_URLCOMMAND)
return xstrcpynW((void *)lParam, moCur.wszUrlCommand, MAX_PATH);
if (wParam == MI_TABNAMEFIND)
return xstrcpynW((void *)lParam, moCur.wszTabNameFind, MAX_PATH);
if (wParam == MI_TABNAMEREP)
return xstrcpynW((void *)lParam, moCur.wszTabNameRep, MAX_PATH);
if (wParam == MI_ONTOP)
return moCur.bOnTop;
if (wParam == MI_STATUSBAR)
return moCur.bStatusBar;
if (wParam == MI_KEEPSPACE)
return moCur.bKeepSpace;
if (wParam == MI_WATCHFILE)
return moCur.bWatchFile;
if (wParam == MI_SAVETIME)
return moCur.bSaveTime;
if (wParam == MI_SINGLEOPENFILE)
return moCur.bSingleOpenFile;
if (wParam == MI_SINGLEOPENPROGRAM)
return moCur.dwSingleOpenProgram;
if (wParam == MI_TABOPTIONSMDI)
return moCur.dwTabOptionsMDI;
if (wParam == MI_EXECUTECOMMAND)
И такого больше сотни строк.
Akelpad.
+132
LRESULT CALLBACK MainProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
if (uMsg == WM_CREATE)
{
int *lpSBParts;
int iBorders[3];
CLIENTCREATESTRUCT ccs;
DWORD dwClassStyle;
RECT rcRect;
HMENU hMenu;
hMainWnd=hWnd;
hPopupEdit=GetSubMenu(hPopupMenu, MENU_POPUP_EDIT);
hPopupView=GetSubMenu(hPopupMenu, MENU_POPUP_VIEW);
hPopupCodepage=GetSubMenu(hPopupMenu, MENU_POPUP_CODEPAGE);
hPopupOpenCodepage=GetSubMenu(hPopupCodepage, MENU_POPUP_CODEPAGE_OPEN);
hPopupSaveCodepage=GetSubMenu(hPopupCodepage, MENU_POPUP_CODEPAGE_SAVE);
hPopupHeadline=GetSubMenu(hPopupMenu, MENU_POPUP_HEADLINE);
hMenu=GetSubMenu(hMainMenu, MENU_FILE_POSITION);
hMenuRecentFiles=GetSubMenu(hMenu, MENU_FILE_RECENTFILES_4X);
hMenu=GetSubMenu(hMainMenu, MENU_VIEW_POSITION);
hMenuLanguage=GetSubMenu(hMenu, MENU_VIEW_LANGUAGE_4X);
Плотная простынка, спать можно.
Akelpad.
+49
for (int i = 0; i <= 10000; i++)
{
if (a[i]=='a')
a[i] == "000";
continue;
}
Цикл, который в строке a меняет все символы 'a' на три ноля. Говнолабка одногруппницы.
+72
private String shutdown = "SHUTDOWN";
........
// Read a set of characters from the socket
int expected = 1024; // Cut off to avoid DoS attack
<--Зачем это тут?-->
while (expected < shutdown.length()) {
if (random == null)
random = new Random();
expected += (random.nextInt() % 1024);
}
while (expected > 0) {
int ch = -1;
try {
ch = stream.read();
} catch (IOException e) {
log.warn("StandardServer.await: read: ", e);
ch = -1;
}
if (ch < 32) // Control character or EOF terminates loop
break;
command.append((char) ch);
expected--;
}
Не понимаю зачем тут while. Авторы Apache Tomcat расскажите...
+156
var move_container_after = function(toMove, toAfter) {
$(toMove).insertAfter(toAfter);
};
var move_container_before = function(toMove, toBefore) {
$(toMove).insertBefore(toBefore);
};
move_container_before(".toggle.basic1-tog", ".basic1 .store-order-item-group-action-list");
move_container_after(".toggle.basic1rn-tog", ".basic1rn .store-order-item-description");
move_container_before(".toggle.basic3-tog", ".basic3 .store-order-item-group-action-list");
move_container_after(".toggle.basic3rn-tog", ".basic3rn .store-order-item-description");
move_container_before(".toggle.bundle1-tog", ".bundle1 .store-order-item-group-action-list");
move_container_after(".toggle.bundle1rn-tog", ".bundle1rn .store-order-item-group-action-list");
move_container_before(".toggle.bundle12-tog", ".bundle12 .store-order-item-group-action-list");
move_container_after(".toggle.bundle12rn-tog", ".bundle12rn .store-order-item-group-action-list");
move_container_before(".toggle.bundle3-tog", ".bundle3 .store-order-item-group-action-list");
move_container_after(".toggle.bundle3rn-tog", ".bundle3rn .store-order-item-group-action-list");
move_container_before(".toggle.bundle6-tog", ".bundle6 .store-order-item-group-action-list");
move_container_after(".toggle.bundle6rn-tog", ".bundle6rn .store-order-item-group-action-list");
move_container_before(".toggle.desktop1-tog", ".desktop1 .store-order-item-group-action-list");
move_container_after(".toggle.desktop1rn-tog", ".desktop1rn .store-order-item-description");
move_container_before(".toggle.desktop12-tog", ".desktop12 .store-order-item-group-action-list");
move_container_after(".toggle.desktop12rn-tog", ".desktop12rn .store-order-item-description");
move_container_before(".toggle.desktop3-tog", ".desktop3 .store-order-item-group-action-list");
move_container_after(".toggle.desktop3rn-tog", ".desktop3rn .store-order-item-description");
move_container_before(".toggle.desktop6-tog", ".desktop6 .store-order-item-group-action-list");
move_container_after(".toggle.desktop6rn-tog", ".desktop6rn .store-order-item-description");
move_container_before(".toggle.desktopbus12-tog", ".desktopbus12 .store-order-item-group-action-list");
move_container_after(".toggle.desktopbus12rn-tog", ".desktopbus12rn .store-order-item-description");
move_container_before(".toggle.desktopbus6-tog", ".desktopbus6 .store-order-item-group-action-list");
move_container_after(".toggle.desktopbus6rn-tog", ".desktopbus6rn .store-order-item-description");
move_container_before(".toggle.premium1-tog", ".premium1 .store-order-item-group-action-list");
move_container_after(".toggle.premium1rn-tog", ".premium1rn .store-order-item-description");
move_container_before(".toggle.premium12-tog", ".premium12 .store-order-item-group-action-list");
move_container_after(".toggle.premium12rn-tog", ".premium12rn .store-order-item-description");
move_container_before(".toggle.premium3-tog", ".premium3 .store-order-item-group-action-list");
move_container_after(".toggle.premium3rn-tog", ".premium3rn .store-order-item-description");
move_container_before(".toggle.premium6-tog", ".premium6 .store-order-item-group-action-list");
move_container_after(".toggle.premium6rn-tog", ".premium6rn .store-order-item-description");
move_container_before(".toggle.premiumbus12-tog", ".premiumbus12 .store-order-item-group-action-list");
move_container_after(".toggle.premiumbus12rn-tog", ".premiumbus12rn .store-order-item-description");
move_container_before(".toggle.premiumbus6-tog", ".premiumbus6 .store-order-item-group-action-list");
move_container_after(".toggle.premiumbus6rn-tog", ".premiumbus6rn .store-order-item-description");
"Перенос" формы, для каждого ID, в HTML есть соответствующее колово форм подобного типа
<div class="toggle basic1-tog">Auto Renew: Off
<form method="POST" action="https://sites.fastspring.com/store/api/order">
<input type="hidden" name="operation" value="update"/>
<input type="hidden" name="destination" value="checkout"/>
<input type="hidden" name="product_1_path" value="/basicsubscription1monthrn"/>
<input type="hidden" name="product_2_path" value="/basicsubscription1month"/>
<input type="hidden" name="product_2_quantity" value="0"/>
<input type="submit" value="Turn On"/>
</form>
</div>
<div class="toggle basic1rn-tog">Auto Renew: On
<form method="POST" action="https://sites.fastspring.com/store/api/order">
<input type="hidden" name="operation" value="update"/>
<input type="hidden" name="destination" value="checkout"/>
<input type="hidden" name="product_1_path" value="/basicsubscription1month"/>
<input type="hidden" name="product_2_path" value="/basicsubscription1monthrn"/>
<input type="hidden" name="product_2_quantity" value="0"/>
<input type="submit" value="Turn Off"/>
</form>
</div>