Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];

Вниз

Гениальные коменты в коде....   Найти похожие ветки 

 
Kerk ©   (2005-07-26 20:36) [0]

Разбираю исходник.... плакаю.. гениально.. :))))

buf, buf0: array of byte; //мммда... трагический случай... buf0 используется как копия buf и необходим для ReadDataRun(те перед входом надо сделать copy
...
sv:=DirList.Values[DirList.Names[k]]; //ГЛЮЮК
...
Run.RunStart:=0-Run.RunStart;//+7 -0111 - зачем - не знаю
...
//для хранения MFTReference(cardinal) будем использовать указатель (и не надо смеяться)
FileList.Objects[FileList.Count-1]:=TObject(pointer((@buf[offs])^));

...
until offs>=size-$10;////почему -$10 не знаю
...
ShowSectorsFrm := TShowSectorsFrm.Create(Application);//бред
...
//  MX_API.HexEditWindow.LoadBlock(3180846);//НУ ЧТО ЗА БРЕД

//белые тушканчики любят горох
//а ты любишь белых тушканчиков???
//чтобы проверить мякгий знак на конце нужно задать вопрос
//  "Что делаешь?"


 
raidan ©   (2005-07-26 20:39) [1]

Зато не скучно :)


 
Джо ©   (2005-07-26 20:40) [2]

Это-таки анализатор NTFS-томов? 8-()


 
Verg ©   (2005-07-26 20:45) [3]

int rtems_gxx_key_create (__gthread_key_t *key, void (*dtor) (void *))
{
 /* Ok, this can be a bit tricky. We are going to return a "key" as a
  * pointer to the buffer that will hold the value of the key itself.
  * We have to to this, because the others functions on this interface
  * deal with the value of the key, as used with the POSIX API.
  */
  /* Do not pull your hair, trust me this works. :-) */  __gthread_key_t *new_key = ( __gthread_key_t * )malloc( sizeof( __gthread_key_t ) );
 *key = ( __gthread_key_t )new_key;
 *new_key = NULL;

 /* register with RTEMS the buffer that will hold the key values */
 if( rtems_task_variable_add( RTEMS_SELF, (void **)new_key, NULL ) == RTEMS_SUCCESSFUL )
      return 0;
 return -1;
}


 
Fin ©   (2005-07-26 20:49) [4]

я тут давиче смотрел правил исходники модуля обрабатывающего поступление оплаты за электроэнергию, такое ощущуние что "конкретно братан писал".


 
pasha_golub ©   (2005-07-26 20:57) [5]

Гыгы

Из меня позднего:

procedure .........; //achtung!


 
Kerk ©   (2005-07-26 20:58) [6]

Джо ©   (26.07.05 20:40) [2]
Это-таки анализатор NTFS-томов? 8-()


Угадал :)))


 
Джо ©   (2005-07-26 20:59) [7]

Модуль FastBmp.pas из MediaLib

procedure TFastBmp.SetPixel(x,y:Integer;Clr:Integer);
begin
 CopyMemory( //damn.. I"m fuckin smart
   Pointer(Integer(Bits)+(y*(Width mod 4))+(((y*Width)+x)*3)),
   @Clr,3);
end;


 
Джо ©   (2005-07-26 21:04) [8]


> [5] pasha_golub ©   (26.07.05 20:57)
> Из меня позднего:


Хе-хе, из меня раннего :)

Был метод
procedure TDrawSurface.Render (ACanvas: TCanvas);

вызывающий, в зависимости от неких условий один из следующих методовю

procedure TDrawSurface.RenderItFuckingFast (ACanvas: TCanvas);
или
procedure TDrawSurface.RenderItFuckingSafe (ACanvas: TCanvas);

Даже комментарии не понадобились :0)


 
Kerk ©   (2005-07-26 21:05) [9]

А я комментов почти не пишу.. мой самый любимый:

procedure TMXfrm.StubActionExecute(Sender: TObject);
begin
 // Не удалять этот обработчик!!!
 // Он действительно должен быть пустым!!! :)
end;


 
Джо ©   (2005-07-26 21:10) [10]


> [9] Kerk ©   (26.07.05 21:05)

ИМХО, один из немногих действительно полезных комментариев. Я, впрочем, в таких случаях отделываюсь стандартным // do nothing.
Впрочем, некоторые адепты жесткого рефакторинга советуют для этих целей создать "пустой" метод/процедуру:
procedure DoNothing;
begin
end;

Так яснее получается. Особенно, если какой-то даун после тебя решит неглядя комментарии почистить.


 
Verg ©   (2005-07-26 21:11) [11]


> Kerk ©   (26.07.05 21:05) [9]
> А я комментов почти не пишу..


И это пройдет...


 
Джо ©   (2005-07-26 21:18) [12]


> [11] Verg ©   (26.07.05 21:11)
> И это пройдет...

Слишком категорично, ИМХО. Керк ведь сказал "почти", а не "совсем". А излишние комментарии - зло не меньшее, чем недостаток их.


 
cyborg ©   (2005-07-26 21:27) [13]

В чём заключается гениальность?


 
Verg ©   (2005-07-26 21:30) [14]


> Джо ©   (26.07.05 21:18) [12]


> Слишком категорично


Если это "слишком" категорично, то... :))

Тетя "кап-кап" - как называла моя дочь сказку про Принцессу на горошине. :))


 
Kerk ©   (2005-07-26 21:50) [15]

все из того же сабжевого исходника :)))
 THighlight = record  //надо это для унификации подсветки,
   LCN: int64;         //но это бред
   offs: word;        
   len: word;
   color: cardinal;
 end;


 
Verg ©   (2005-07-26 21:53) [16]


> offs: word;


Это тоже...


 
Lamer@fools.ua ©   (2005-07-27 00:22) [17]

Ацтой ваш код. Вот апупенный пример из реального проекта (VB.NET):

Private Function BlaBlaBla(...) As Boolean
  Dim retValue As Boolean

  " Тут манипуляции, приводящие к присваиванию
  " значения переменной retValue. Я их опускаю...

  If retValue = True Then
      Return True
  Else
      Return False
  End If
End Function


 
Kerk ©   (2005-07-27 00:26) [18]

Lamer@fools.ua ©   (27.07.05 0:22) [17]

Хе. У меня был пациент по-круче.

 inline Void SetTrueIfFalse(Boolean &variable) {
   if (!variable) variable=true;
 }


 
Ega23 ©   (2005-07-27 10:08) [19]


Private Function BlaBlaBla(...) As Boolean
 Dim retValue As Boolean

 " Тут манипуляции, приводящие к присваиванию
 " значения переменной retValue. Я их опускаю...

 If retValue = True Then
     Return True
 Else
     Return False
 End If
End Function


Фигня.
Вот как надо:

if A=True then
 begin
  A:=False;
 end
else
 begin
  if A=False then
   begin
    A:=True;
   end;
 end;



 
Sandman29   (2005-07-27 10:10) [20]

Ega23 ©   (27.07.05 10:08) [19]
if A=True then
begin
 A:=not A;
end
else
begin
 if A<>True then
  begin
   A:=not A;
  end;
end;


 
Lamer@fools.ua ©   (2005-07-27 11:21) [21]

>> [19], [20]

Не-е. Это ацтой. Вот как надо:

if (A=True)and(A<>False) then
begin
 A:=Boolean((Byte(A) xor $FF) and 1);
end
else
begin
 if (A=False)and(A<>True) then
 begin
   A:=Boolean((Byte(A) xor $FF) and 1);
 end;
end;


 
Sandman29   (2005-07-27 11:25) [22]

Lamer@fools.ua ©   (27.07.05 11:21) [21]

Не хватает в начале
if (A=True) or (A=False) then :)


 
Ega23 ©   (2005-07-27 11:27) [23]

2 Sandman29   (27.07.05 11:25) [22]
if (A=True) or (A=False) then :)

КЛАСС!!!!!!!!!!!!!!!


 
pasha_golub ©   (2005-07-27 11:34) [24]

Джо ©   (26.07.05 21:10) [10]

procedure DoNothing;
begin
end;


Я обычно его Dummy называю.


 
han_malign ©   (2005-07-27 12:02) [25]

>if (A=True) or (A=False) then :)
>КЛАСС!!!!!!!!!!!!!!!
- а чего "класс", скажем в C-ях такое условие может и не выполняться...


 
jack128 ©   (2005-07-27 12:23) [26]

han_malign ©   (27.07.05 12:02) [25]
- а чего "класс", скажем в C-ях такое условие может и не выполняться...

в дельфях тоже. Но для этого нужно иметь очень кривые руки


 
TUser ©   (2005-07-27 12:25) [27]

> - а чего "класс", скажем в C-ях такое условие может и не выполняться...

И в паскале тоже

var AVariable: boolean = false;

function A: boolean;
begin
 result:=AVariable;
 AVariable:=not AVariable;
end;

...

if (A = true) or (A = false) then
 // never executable code

ЗЫ. Интересно, а если в таком коде написать проверялку лицензионности, причем помимо одной работающей проверялки ее записать в 10 разных местах после вот такого (или подобного) if. Затруднит ли это хакеру поиск настоящей проверки?


 
jack128 ©   (2005-07-27 12:28) [28]

TUser ©   (27.07.05 12:25) [27]
в отличии от паскаля в сишном коде A не может быть функцией, она гарантированно переменная


 
HBreaker   (2005-07-27 12:58) [29]

Вот пример на php :))

$a=true;

function a()
{
 $res=$a;
 $a=!$a;
 return $res;
}

if (a() || !a())
{
 echo "aaaaaaaa!!!!!"
}
else
{
 echo "bbbbbbbbeeeeeeeee!!!!"
}

как вы думаете что сроботает "ааа" или "bbbeee"?


 
Seg   (2005-07-27 13:11) [30]

Загловок показался "Генитальные моменты в коде"

Пора в отпуск...


 
raidan ©   (2005-07-27 14:47) [31]

>Seg   (27.07.05 13:11) [30]
Мало в жизне секса по утрам? =)


 
Seg   (2005-07-27 15:38) [32]

>Мало в жизне секса по утрам? =)

Как раз с этим все в порядке.


 
Alexander Panov ©   (2005-07-27 23:30) [33]

procedure TFClientSocket.CheckBusy;
begin
 if not (FState=tssNone) then raise EFSocketError.Create("Сокет занят полезным делом, не надо мешать");
end;


 
wicked ©   (2005-07-27 23:40) [34]

> Alexander Panov ©   (27.07.05 23:30) [33]
гы... :)



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.031 c
4-1119958510
Pearled
2005-06-28 15:35
2005.08.21
Установка разрешений доступа к какталогу


14-1122496407
DiamondShark
2005-07-28 00:33
2005.08.21
Дятлы.


14-1122541307
Gydvin
2005-07-28 13:01
2005.08.21
Forex


4-1120460219
Alex Che
2005-07-04 10:56
2005.08.21
как определить размер зерна монитора


1-1122550947
Pasha L
2005-07-28 15:42
2005.08.21
AND и OR, оперирующие с интежером





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский