|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Mike Selivanov 2:5025/59.3 02 Apr 2002 17:33:28 To : Vladimir Bormotov Subject : записки тетки-бух галтера -------------------------------------------------------------------------------- Tuesday April 02 2002 16:09, Ты нацарапал мне: VW>>> Вот интересно, из какой книги ты почерпнул такие представления VW>>> об ООП? MS>> а взять хотя бы Бьерна Страуструпа с его "Введение в C++". VB> а процитировать? ;) подожди до завтра, ок? обязательно найду и процитирую MS>> по мне лучше написать на 10-30 строчек кода больше но зато я буду MS>> твердо уверен что через пару месяцев после первого прочтения MS>> листнига пойму как этот код работает. VB> да-да. ты не видел "настоящего кода на C/C++" ну откуда такая уверенность? меня просто поражает возможность некоторых людей видеть все и вся насквозь :) VB> сколько раз нужно прочесть эту функцию, чтоб понять что она делает? VB> void set_name_findex (int i, char *NameFile, int iLen, int *iXXX ) { VB> int j; VB> if ( *(NameFile + iLen*i) ) { VB> if ( !(*(iXXX+i)) ) *(iXXX+i) = 1; VB> for ( j = THREADS-1; j > i; j-- ) { VB> if ( *(NameFile + iLen*j) ) { VB> if ( !strcmp ( (NameFile+i*iLen), (NameFile+j*iLen) ) ) VB> { *(iXXX+j) = (j - i)*(-1); } VB> else VB> { *(iXXX+j) = 1; } VB> } VB> } VB> } VB> } :) мне было бы достаточно одного взгляда чтобы понять что же делает этот хорошо написанный код если бы ты удосужился вставить комментарий. они для этого и нужны. а выдавать на обозрение код в котором используются переменные с сомнительными именами - просто безобразие. кстати, воторой if внутри цикла всегда будет идти по второй ветке, что не есть правильно. поправь меня если неправ, NameFile+i*iLen будет совпадать с NameFile+j*iLen тогда и т.т. когда i==j. соотв-но *(iXXX+j) = (j-i)*(-1); можно заменить на *(iXXX+j) = 0; но даже и этот оператор не выполнится т.к. цикл до тех пор пока j > i. VB> такое на перле нужно уметь написать... чтоже касаемо перла то я не сомневаюсь что этот код можно описать меньшим количеством строчек, но... разобраться с ними без коментариев еще сложнее... я не говорю что код является достаточным условием для читаемости, отнюдь... комментарии никто не отменял :) По мне так код на с/c++ более удобоварим для глаз чем код на перле (если хорошенько на нем извратиться). Всех благ и бочку пЫва, Mike --- Camelot Publishing. * Origin: still nothing? turn on the monitor. (2:5025/59.3) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/28063ca9b816.html, оценка из 5, голосов 10
|