-
Список говнокодов пользователя TauSigma
Всего: 8
-
+144
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
public static void main(String[] args) {
int temp = 0;
out: // label
for (int i = 0; i < 3; ++i) {
System.out.println("I am here");
for (int j = 0; j < 20; ++j) {
if(temp==0) {
System.out.println("j: " + j);
if (j == 1) {
temp = j;
continue out; // goto label "out"
}
}
}
}
System.out.println("temp = " + temp);
}
Оригинал: http://stackoverflow.com/questions/2545103/is-there-a-goto-statement-in-java
Помнится, кто-то недавно упомянул именнованные циклы.
Вот они и нашлись.
Получается, что по "continue out" мы пойдём на следующую итерацию внешнего цикла, а при "break out", выйдем из внешнего цикла.
Странно, что M$ не утянули себе такую фичу...
TauSigma,
26 Августа 2014
-
+154
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
var SomeObject = {
ToggleUploadButton: function () {
/// <summary>Отобразить или спрятать кнопку загрузки</summary>
var arr = this._ImageList.getElementsByTagName("LI");
if (arr.length > 0)
$(this._UploadPanel).removeAttr("disabled");
else $(this._UploadPanel).attr("disabled", "disabled");
},
OnButtonClick: function (e) {
/// <summary>Обаботка события нажатия на кнопку "Загрузить". Проходим по всем миниатюрам из списка, читаем у каждой свойство file (добавленное при создании) и начинаем загрузку, создавая экземпляры объекта uploaderObject. По мере загрузки, обновляем показания progress bar, через обработчик onprogress, по завершении выводим информацию.</summary>
if (!this.IsUploadCompatible)
return true;
if ($(this._UploadPanel).attr('disabled') !== undefined) return false;
//...
}
}
Вот таким красивым способом проверяем на наличие файлов в контейнере для загрузки...
TauSigma,
01 Августа 2014
-
+162
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
$(function(){
var keyword = '';
if (typeof crtg_content !== 'undefined' && crtg_content) { keyword = crtg_content; }
var custom = { 4:ar_duo1 };
custom[1] = 'soft';
custom[2] = 'design';
custom[3] = 'linux';
/* Антоша не удаляй это условие блеать! Как я тестить буду? */
//if (true)
// show_inner_banner_block('ertelecom');
//else
new adriver("adriver_banner_132032996", {sid: 176776, bt: 52, bn: 3, custom: custom, keyword: keyword});
});
С известного ИТ ресурса.
Не говнокод, конечно, но коментарий весёлый. :)
TauSigma,
25 Июля 2014
-
+134
- 1
IEventDetails evt = logger.GetEvent((Int32)((Object[])msg.ID)[0], (Int64)((Object[])msg.ID)[1]);
Нашёл свой код бородатой давности в одном решении, в котором присутсвует дедлок, а лезть в код не хотелось.
Вот теперь думаю, ковырять компонент дальше или пусть себе с дедлоком живёт.....
TauSigma,
01 Июля 2014
-
+129
- 1
- 2
- 3
- 4
- 5
- 6
- 7
public class DataLayer
{
...
public List<Employee> GetEmployees() { ... }
public List<Department> GetDepartments() {...}
public List<Roles> GetRoles() {...}
}
Обратил внимание, что некоторые коллеги любят использовать в качестве возвращаемых типов не обычные массивы, а обязательно List<T>.
Долго гадал, что-ж такая за практика интерсная, на стеке прям несколько вопросов подрял.
Затем, обратил внимание, что все они используют в качестве основного инструмента паттерн MVC.
Проштудировав самые известные книжки по MVC, таки нашёл виновника:
http://www.ozon.ru/context/detail/id/19064535/ - Программирование на основе Microsoft ASP.NET MVC (Дино Эспозито)
Везде где только можно, всё просто обделано LIst'ами. Даже данные передаваемые во View...
TauSigma,
15 Июля 2013
-
+124
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
// System.Web.Security.FormsAuthentication
/// <summary>Returns the redirect URL for the original request that caused the redirect to the login page.</summary>
/// <returns>A string that contains the redirect URL.</returns>
/// <param name="userName">The name of the authenticated user. </param>
/// <param name="createPersistentCookie">This parameter is ignored.</param>
public static string GetRedirectUrl(string userName, bool createPersistentCookie)
{
if (userName == null)
{
return null;
}
return FormsAuthentication.GetReturnUrl(true);
}
http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication. getredirecturl.aspx
Разработчики ASP.NET'а опять доставляют... И не лень было столько параметров делать, а потом ещё и описывать...
TauSigma,
04 Июля 2013
-
+136
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
protected Boolean GetStatus(VinRequestStatusId statusId, Int16 id)
{
if(statusId == VinRequestStatusId.CarDataNeeded && id == 0)
return true;
if(statusId == VinRequestStatusId.WaitingClientAnswer && id == 1)
return true;
return false;
}
Разработчику гуя лень было лезть в DAL. Наложил прямо на форме.
TauSigma,
01 Июля 2013
-
+132
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
public static string[] GetLogicalDrives()
{
// System.Environment.GetLogicalDrives()
new EnvironmentPermission(PermissionState.Unrestricted).Demand();
// System.IO.Directory.GetLogicalDrives()
new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand();
int logicalDrives = Win32Native.GetLogicalDrives();
if (logicalDrives == 0)
{
__Error.WinIOError();
}
uint num = (uint)logicalDrives;
int num2 = 0;
while (num != 0u)
{
if ((num & 1u) != 0u)
{
num2++;
}
num >>= 1;
}
string[] array = new string[num2];
char[] array2 = new char[]
{
'A',
':',
'\\'
};
num = (uint)logicalDrives;
num2 = 0;
while (num != 0u)
{
if ((num & 1u) != 0u)
{
array[num2++] = new string(array2);
}
num >>= 1;
char[] expr_6E_cp_0 = array2;
int expr_6E_cp_1 = 0;
expr_6E_cp_0[expr_6E_cp_1] += '\u0001';
}
return array;
}
Копался сегодня в дебрях .NET'а и нашёл 2 метода получения списка дисков:
System.Environment.GetLogicalDrives() и System.IO.Directory.GetLogicalDrives()
Различается код только первой срокой запроса разрешений.
Если один метод устарел-бы, то можно было его форварднуть через атрибут TypeForwardedTo.
Или хотя-бы объединить код вынеся запрос разрешений.
Оба метода доступны ещё с .NET 1.1. Но вот класс DriveInfo, который появился только в .NET 2.0 использует метод Directory.GetLogicalDrives()
Это такая "фича" с копипастом кода или тут есть какой-то сакральный смысл?
TauSigma,
25 Июня 2013