1. Список говнокодов пользователя wvxvw

    Всего: 202

  2. ActionScript / Говнокод #17515

    −90

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    public static function padToTwoDigits(value:int):String
    {
    	if(value < 10)
    		return "0" + value.toString();
    	else
    		return value.toString();
    }
    
    /**
     * returns 00:00 format
     * 
     * @param  miliseconds 
     */
    public static function time_format(miliseconds:Number):String{
    	var recorded_time_lbl:String = '';
    	
    	var seconds:Number = miliseconds/1000;
    	var minutes:uint = seconds / 60;
    
    	var seconds_remain:uint = seconds - (minutes*60);
    
    	var sec_lbl:String = '';
    	if(seconds_remain<10){
    		sec_lbl = '0'+seconds_remain;
    	}else{
    		sec_lbl = ''+seconds_remain;
    	}
    	var min_lbl:String = '';
    	if(minutes<10){
    		min_lbl = '0'+minutes;
    	}else{
    		min_lbl = ''+ minutes;
    	}
    	
    	recorded_time_lbl = min_lbl + ':' + sec_lbl;
    	return recorded_time_lbl;
    	//--
    	var recorded_time:String = (miliseconds/100000).toFixed(2) ;
    	
    	if(recorded_time.length == 5) // 23.22
    		recorded_time_lbl = recorded_time.substr(0,2)+':'+recorded_time.substr(3);
    	else if(recorded_time.length == 4) // 4.26
    		recorded_time_lbl = '0'+recorded_time.substr(0,1)+':'+recorded_time.substr(2);
    	
    	return recorded_time_lbl;
    }
    /**
    * limits a string to a specified length and adds '...' at the end of it
    */ 
    public static function trim(s:String,limit:uint):String{
    	if(s.length > limit){
    		s = s.substr(0,limit-4) + '...';
    	}
    	return s;
    }
    
    public static function formatTime(value: Number): String
    {
    	if (isNaN(value) || (value < 0))
    	{
    		return "0:0";
    	}
    	var formatedTime: Array = formateTimeToIntArr(value);
    	var minutes: int = formatedTime[1];
    	if (minutes < 0)
    	{
    		return "0:0";
    	}
    	var seconds: int = formatedTime[0];
    	var timevalue: String = minutes + ":";
    
    	if (seconds < 10)
    	{
    		timevalue += "0";
    	}
    
    	timevalue = timevalue + seconds;
    
    	return timevalue;
    }
    
    public static function formateTimeToIntArr(value: Number): Array
    {
    	var result: Array = [0, 0];
    	if (!isNaN(value))
    	{
    		var minutes: int = value / 60;
    		var seconds: int = value % 60;
    		if (!(minutes < 0))
    		{
    			result = [seconds, minutes];
    		}
    	}
    	return result;
    }

    Я понимаю, что много, но количество тут играет определенную роль. Это только небольшая часть файла вспомогательных функций для форматирования времени, дат и т.п. В какой-то степени удручает еще и неизобретательность автора, последовательно наступающих на те же самые грабли и даже ни на секунду не задумавшегося о предназначении...

    wvxvw, 25 Января 2015

    Комментарии (1)
  3. bash / Говнокод #17444

    −113

    1. 1
    find . -type f -exec perl -n -e 'print "{}:$.$_" if(/不聞不若聞之,聞之不若見之/);' {} \;

    А знаете почему? - Потому что Греп - говно.

    wvxvw, 14 Января 2015

    Комментарии (57)
  4. Куча / Говнокод #17414

    +129

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    <macrodef name="foreach">
      <attribute name="target"/>
      <attribute name="file-property"/>
      <element name="files"/>
      <element name="args"/>
      <sequential>
        <local name="foreach.files"/>
        <local name="foreach.target"/>
        <local name="foreach.file-property"/>
        <local name="foreach.args"/>
        <property name="foreach.target" value="@{target}"/>
        <property name="foreach.file-property" value="@{file-property}"/>
        <pathconvert property="foreach.files">
          <files/>
        </pathconvert>
        <propertyset id="foreach.args">
          <args/>
        </propertyset>
        <property name="foreach.args" refid="foreach.args"/>
        <property name="foreach.target" value="@{target}"/>
        <!-- there is no better way to do this at the moment
             property names and values should not contain comma-space and equals signs
        -->
        <script language="javascript"><![CDATA[
           var files = project.getProperty("foreach.files").split(":"),
           args = project.getProperty("foreach.args").split(", "),
           task = project.createTask("antcall"), arg;
    
           task.target = project.getProperty("foreach.target");
           for (var a in args) {
             arg = task.createParam();
             arg.setName(a.split("=")[0]);
             arg.setValue(String(a.split("=")[1]));
           }
    
           for (var f in files) {
             arg = task.createParam();
             arg.setName(project.getProperty("foreach.file-property"));
             arg.setValue(String(files[f]));
             task.perform();
           }
         ]]></script>
      </sequential>
    </macrodef>
    <!-- пример использования: -->
    
    <target name="transcode-font-helper">
      <property name="font.face.local" value="${font.face}"/>
      <foreach target="transcode-font" file-property="font.raw.source">
        <files>
          <fileset dir="${basedir}/fonts">
            <include name="*/${font.face.local}/*.otf"/>
            <include name="*/${font.face.local}/*.ttf"/>
          </fileset>
        </files>
        <args>
          <propertyref name="font.face.local"/>
        </args>
      </foreach>
    </target>

    А ведь если подумать: собрали все самое лучше, что есть в современном программировании - Ява, ХМЛ и ж.скрипт. Потом выбросили условные операторы, итерацию и операции со строкам - потому что не нужны. И получилась замечательная система для сборки проектов.

    wvxvw, 06 Января 2015

    Комментарии (64)
  5. Куча / Говнокод #17406

    +126

    1. 1
    2. 2
    3. 3
    <fileset dir="${basedir}" includes="**/*">
          <type type="dir"/>
    </fileset>

    Печаль заключается в том, что <type type="dir"/> никогда ничего не даст выбрать. fileset не может технически содержать папки.

    wvxvw, 05 Января 2015

    Комментарии (0)
  6. Куча / Говнокод #17322

    +125

    1. 1
    http://faculty.knox.edu/dbunde/teaching/chapel/

    Тарасу должно понравится: Паскаль со скобочками, даже begin и then есть.

    wvxvw, 15 Декабря 2014

    Комментарии (0)
  7. ActionScript / Говнокод #17295

    −93

    1. 1
    2. 2
    -			facade.registerCommand(<enterprise>Constants.CUT_PUST_TRACKS_COMMAND, CutPustTracksCommand);
    +			facade.registerCommand(<enterprise>Constants.CUT_PUST_TRACKS_COMMAND, CutPasteTracksCommand);

    Ну, почти.

    wvxvw, 11 Декабря 2014

    Комментарии (32)
  8. ActionScript / Говнокод #17246

    −84

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    public function equals(newSprite:SpriteVO): Boolean
    {
    	return (newSprite.x == this.x &&
    	newSprite.y == this.y &&
    	newSprite.width == this.width &&
    	newSprite.height == this.height &&
    	newSprite.scaleX == this.scaleX &&
    	newSprite.scaleY == this.scaleY &&
    	newSprite.rotation == this.rotation &&
    	newSprite.assetId == this.assetId &&
    	newSprite.asset == this.asset &&
    	newSprite.track == this.track &&
    	newSprite.flipped == this.flipped)
    	
    }

    Почему-то у меня есть впечатление, что люди которые пытаются писать на языке используя приемы из другого языка, это в первую очередь люди, которые не поняли оригинальную задумку в другом языке.

    wvxvw, 03 Декабря 2014

    Комментарии (7)
  9. ActionScript / Говнокод #17241

    −85

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    public static function getItemIndex(array: Object, item: Object): int
    {
    	var result: int = -1;
    
    	if (array is Array)
    		array = new ArrayCollection(array as Array);
    
    	if (array is ArrayCollection)
    	{
    		var collection: ArrayCollection = ArrayCollection(array);
    
    		result = collection.getItemIndex(item);
    
    	/*	if (result == -1 && item is IEquals)
    		{
    			for (var index: int = 0; index < collection.length; index++)
    			{
    				var obj: Object = collection.getItemAt(index);
    
    				if (obj == item || (obj is IEquals && IEquals(item).equals(IEquals(obj))))
    				{
    					result = index;
    					break;
    				}
    			}
    		}*/
    	}
    	return result;
    }

    Душа настойчиво требовала Яву, но под рукой ничего подходящего не оказалось.

    Для тех, кто не в курсе, это очередная попытка авторов супербиблиотеки изобрести Array.indexOf.

    wvxvw, 02 Декабря 2014

    Комментарии (1)
  10. ActionScript / Говнокод #17188

    −99

    1. 1
    com.google.ui:ShadowButtonTextUiConfigFactory

    Разбираюсь с гуглокодом для Ютуб плеера. Как думаете, что может делать этот класс?

    wvxvw, 26 Ноября 2014

    Комментарии (10)
  11. Python / Говнокод #17100

    −113

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    files = os.listdir('./tests')
        num = 0
        for f in files:
            num += 1
            template_generator('-b', './tests/' + f, '-l', '../../bin/library/load/5/library.xml')
            print 'templates created: %d%%' % num * 100 / len(files)

    Не так, чтобы говнокод, но очень даже неожидано.

    wvxvw, 12 Ноября 2014

    Комментарии (1)