- 1
- 2
- 3
- 4
- 5
- 6
function read_file($path)
{if(!is_file($path))return false;
elseif(!filesize($path))return array();
elseif($array=file($path))return $array;
else while(!$array=file($path))sleep(1);
return $array;}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+161.7
function read_file($path)
{if(!is_file($path))return false;
elseif(!filesize($path))return array();
elseif($array=file($path))return $array;
else while(!$array=file($path))sleep(1);
return $array;}
интересный способ чтения файла в WR-Counter )))
+158.1
case 'down':
if (parseInt(pageTop) + parseInt(pageHeight) - parseInt(elementTop) - parseInt(elementHeight) - parseInt(elementBorderTop) - parseInt(elementBorderBottom) >= parseInt(stepOfMove)) {
var topParam = parseInt(elementTop) - 0 + parseInt(stepOfMove) + 'px';
elementToMove.style.top = topParam;
this.updateElementsParams(id,'top',topParam);
} else {
stepOfMoveElement.value = parseInt(pageTop) - 0 + parseInt(pageHeight) - parseInt(elementTop) - parseInt(elementHeight) - parseInt(elementBorderTop) - parseInt(elementBorderBottom);
}
break;
и так миллион тыщ раз...
−91.2
function upHandler(event:MouseEvent):void
{
//r_arr[event.currentTarget.index].stopDrag();
event.currentTarget.stopDrag();
//r_arr[event.currentTarget.index].removeChildAt(2);
if((r_arr[event.currentTarget.index].x>550)||(r_arr[event.currentTarget.index].x<160)||(r_arr[event.currentTarget.index].y>400)||(r_arr[event.currentTarget.index].y<0))
{
r_arr[event.currentTarget.index].x=546;
r_arr[event.currentTarget.index].y=(r_arr[event.currentTarget.index].index+1)*30;
}
}
Сама семантика малопримечательна. Вся соль в способе адресации к объекту массива r_arr при совершении события мыши прямо над этим же объектом. Методы и свойства объекта достаются через ***у по индексу из-за пазухи: r_arr[event.currentTarget.index].removeChildAt(2)
вместо достаточного: event.currentTarget.removeChildAt(2)
+132.2
cboRole.DataSource = Controller.GetViewForRole();
cboRole.DataBind();
try {
cboRole.SelectedValue = roleId.ToString();
} catch (ArgumentOutOfRangeException) {
cboRole.Items.Add(new ListItem(roleName, roleId.ToString()));
cboRole.SelectedValue = roleId.ToString();
}
Нету значения - не проблема, создадим и присвоим. Не беда, что инициализация рядом...
+73
..........
if (year.equals(beginYear)) {
//таск полностью попадает в месяц
if ((beginMonth == month) && (endMonth == month)) {
for (int i = 1; i < beginDate; i++) {
row.add(3);
}
for (int i = beginDate; i < realizationDate; i++) {
row.add(-1);
}
row.add(1);
for (int i = realizationDate + 1; i <= endDate; i++) {
row.add(2);
}
for (int i = endDate; i < columnCount; i++) {
row.add(3);
}
}
//таск полностью не попадает в месяц или полностью занимает месяц
if ((beginMonth < month) && (endMonth > month)) {
for (int i = 1; i < columnCount; i++) {
row.add(-1);
}
} else if ((beginMonth < month) && (endMonth < month)) {
for (int i = 1; i < columnCount; i++) {
row.add(3);
}
} else if ((beginMonth > month) && (endMonth > month)) {
for (int i = 1; i < columnCount; i++) {
row.add(3);
}
}
//таск попадает в месяц частично
if ((beginMonth == month) && (beginMonth < endMonth)) {
if (beginMonth == realizationMonth) {
for (int i = 1; i < beginDate; i++) {
row.add(3);
}
for (int i = beginDate; i < realizationDate; i++) {
row.add(-1);
}
row.add(1);
for (int i = realizationDate + 1; i < columnCount; i++) {
row.add(2);
}
} else {
for (int i = 1; i < beginDate; i++) {
row.add(3);
}
for (int i = beginDate; i < columnCount; i++) {
row.add(-1);
}
}
} else if ((endMonth == month) && (beginMonth < endMonth)){
if (endMonth == realizationMonth) {
for (int i = 1; i < realizationDate; i++) {
row.add(-1);
}
row.add(1);
for (int i = realizationDate + 1; i <= endDate; i++) {
row.add(2);
}
for (int i = (endDate + 1); i < columnCount; i++) {
row.add(3);
}
} else {
for (int i = 1; i <= endDate; i++) {
row.add(2);
}
for (int i = (endDate + 1); i < columnCount; i++) {
row.add(3);
}
}
}
} else {
for (int i = 1; i < columnCount; i++) {
row.add(3);
}
}
...........
Вот так корень кладёт данные в таблицу по определённой дате
+99
try
SetPropValue(c, aqGetConfigproperty_name.asString,aqGetConfigpropery_value.asvariant);
aqGetConfig.Next;
if aqGetConfigproperty_name.AsString = 'TabVisible'
then begin
if aqGetConfigpropery_value.AsString = '1' then vis:=True
else vis:=False;
SetPropValue(c, aqGetConfigproperty_name.asString,vis);
end
Вот так мы ставим свойства закладок из конфигуратора:)
+156.2
if($started==true && !empty($query))
do { } while ($todo===$berry);
/*
* if started equals true,
* and isn't empty query,
* do nothing while todo
* really more, than berry
*/
no comments
+132.9
if ("Recap".Equals(Request["post_back"]))
{
<...>
if (Request["apply_coupon.x"] != null)
{
ValidateCoupon();
}
else if ("Recap".Equals(Request["post_back"]))
{ <...> }
<...>
}
Из одного очень древнего проекта, с самопальным post back'ом
+136
public bool IsPositiveNumber(String strNumber)
{
Regex objNotPositivePattern = new Regex("[^0-9.]");
Regex objPositivePattern = new Regex("^[.][0-9]+$|[0-9]*[.]*[0-9]+$");
Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*");
return !objNotPositivePattern.IsMatch(strNumber) &&
objPositivePattern.IsMatch(strNumber) &&
!objTwoDotPattern.IsMatch(strNumber);
}
Валидатор :)
+62.7
class UglyColumnsRedefine < ActiveRecord::Migration
def self.up
change_column :variable_sets, :active, :boolean
VariableSet.all.each{|v| v.update_attribute :active, !!v.active}
end
def self.down
end
end
Миграция с весёлым названием 20090601130619_ugly_columns_redefine.rb, для рельсового приложения, аля "так делать низя".