-
Список говнокодов пользователя wvxvw
Всего: 202
-
−90
- 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
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 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
-
−113
- 1
find . -type f -exec perl -n -e 'print "{}:$.$_" if(/不聞不若聞之,聞之不若見之/);' {} \;
А знаете почему? - Потому что Греп - говно.
wvxvw,
14 Января 2015
-
+129
- 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
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 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
-
+126
- 1
- 2
- 3
<fileset dir="${basedir}" includes="**/*">
<type type="dir"/>
</fileset>
Печаль заключается в том, что <type type="dir"/> никогда ничего не даст выбрать. fileset не может технически содержать папки.
wvxvw,
05 Января 2015
-
+125
- 1
http://faculty.knox.edu/dbunde/teaching/chapel/
Тарасу должно понравится: Паскаль со скобочками, даже begin и then есть.
wvxvw,
15 Декабря 2014
-
−93
- 1
- 2
- facade.registerCommand(<enterprise>Constants.CUT_PUST_TRACKS_COMMAND, CutPustTracksCommand);
+ facade.registerCommand(<enterprise>Constants.CUT_PUST_TRACKS_COMMAND, CutPasteTracksCommand);
Ну, почти.
wvxvw,
11 Декабря 2014
-
−84
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 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
-
−85
- 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
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
-
−99
- 1
com.google.ui:ShadowButtonTextUiConfigFactory
Разбираюсь с гуглокодом для Ютуб плеера. Как думаете, что может делать этот класс?
wvxvw,
26 Ноября 2014
-
−113
- 1
- 2
- 3
- 4
- 5
- 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