- 
        Список говнокодов пользователя 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 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 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 TauSigma,
            25 Июля 2014
 
- 
        
        
                +134         
                            - 1
 IEventDetails evt = logger.GetEvent((Int32)((Object[])msg.ID)[0], (Int64)((Object[])msg.ID)[1]);
 
 
            Нашёл свой код бородатой давности в одном решении, в котором присутсвует дедлок, а лезть в код не хотелось.
 Вот теперь думаю, ковырять компонент дальше или пусть себе с дедлоком живёт.....
 
             TauSigma,
            01 Июля 2014 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 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 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 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 TauSigma,
            25 Июня 2013