Здравствуйте, _Winnie, Вы писали:
_W>Красивый — это всё.
_W>1) эстетически приятный _W>2) (в меру)эффективный _W>3) сопровождаемый, расширяемый _W>4) легко читаемый и понимаемый.. _W>5) ....
Вот код, соответствеующий первому условию:
#!/usr/bin/perl -w use strict;
$_='ev
al("seek\040D
ATA,0, 0;");foreach(1..2)
{<DATA>;}my @camel1hump;my$camel;
my$Camel ;while( <DATA>){$_=sprintf("%-6
9s",$_);my@dromedary 1=split(//);if(defined($
_=<DATA>)){@camel1hum p=split(//);}while(@dromeda
ry1){my$camel1hump=0 ;my$CAMEL=3;if(defined($_=shif
t(@dromedary1 ))&&/\S/){$camel1hump+=1<<$CAMEL;}
$CAMEL--;if(d efined($_=shift(@dromedary1))&&/\S/){
$camel1hump+=1 <<$CAMEL;}$CAMEL--;if(defined($_=shift(
@camel1hump))&&/\S/){$camel1hump+=1<<$CAMEL;}$CAMEL--;if(
defined($_=shift(@camel1hump))&&/\S/){$camel1hump+=1<<$CAME
L;;}$camel.=(split(//,"\040..m`{/J\047\134}L^7FX"))[$camel1h
ump];}$camel.="\n";}@camel1hump=split(/\n/,$camel);foreach(@
camel1hump){chomp;$Camel=$_;tr/LJF7\173\175`\047/\061\062\063
45678/;tr/12345678/JL7F\175\173\047`/;$_=reverse;print"$_\040
$Camel\n";}foreach(@camel1hump){chomp;$Camel=$_;y/LJF7\173\17
5`\047/12345678/;tr/12345678/JL7F\175\173\047`/;$_=reverse;p
rint"\040$_$Camel\n";}#japh-Erudil';;s;\s*;;g;;eval; eval
("seek\040DATA,0,0;");undef$/;$_=<DATA>;s$\s*$$g;( );;s
;^.*_;;;map{eval"print\"$_\"";}/.{4}/g; __DATA__ \124
\1 50\145\040\165\163\145\040\157\1 46\040\1 41\0
40\143\141 \155\145\1 54\040\1 51\155\ 141
\147\145\0 40\151\156 \040\141 \163\16 3\
157\143\ 151\141\16 4\151\1 57\156
\040\167 \151\164\1 50\040\ 120\1
45\162\ 154\040\15 1\163\ 040\14
1\040\1 64\162\1 41\144 \145\
155\14 1\162\ 153\04 0\157
\146\ 040\11 7\047\ 122\1
45\15 1\154\1 54\171 \040
\046\ 012\101\16 3\16
3\15 7\143\15 1\14
1\16 4\145\163 \054
\040 \111\156\14 3\056
\040\ 125\163\145\14 4\040\
167\1 51\164\1 50\0 40\160\
145\162 \155\151
\163\163 \151\1
57\156\056
# camel code, copyright 2000 by Stephen B. Jenkins
# The use of a camel image with the topic of Perl
# is a trademark of O'Reilly & Associates, Inc.
# Used with permission.
Кто скажет, что он делает?
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Здравствуйте, _Winnie, Вы писали:
_W>Красивый — это всё.
_W>1) эстетически приятный
Не знаю что такое. _W>2) (в меру)эффективный
Противоречит пункту 3 и 4 _W>3) сопровождаемый, расширяемый
Противоречит пункту 2 иногда 4 _W>4) легко читаемый и понимаемый..
Противоречит пункту 2 иногда 3
Здравствуйте, Mystic, Вы писали:
M>Тем не менее про картину вполне естественно сказать "красивая". Точно так же учебники по изобразительному искусству не пишут про "красивые" картины, а раскрывают различные технические приемы
Насколько я помню, в изобразительном искусстве вообще нет понятия "красивый". Это зрители делят картины на "красивые" и "не красивые". Художники такими понятиями не оперируют.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
aik wrote: > > M>Ну почему же? Можем же мы оценить код, например, из эстетических > соображений? Точно так же, как картину, роман или фильм? > > Это все равно что на дамп EXE файла смотреть. Нифига непонятно что он из > себя представляет.
По-моему, если код выглядит, как г-но, он и работать будет как г-но.
Конечно, нечеловеческими усилиями и г-но можно хоть как-то заставить
работать, подставив подпорочек и подмотав изолентой
Не поэтому ли у простых человеков столь низкое доверие к компутерам, что
программы пишутся столь халтурно?
Здравствуйте, aik, Вы писали:
aik>Покажи хоть одну книжку "признанного критика" кто бы писал о красоте кода.
Про красоту не помню, а вот в Рефакторинге Фаулера есть глава, называется что-то типа "Код с душком". Так может надо говорить приятно пахнущий код? Или вонючий код? Типа уберите это с экрана, сильно воняет.
M>Ну почему же? Можем же мы оценить код, например, из эстетических соображений? Точно так же, как картину, роман или фильм?
Да, конечно. Но есть небольшое отличие. Если речь идёт о чём-то масштаба несколько больше, чем контейнер или алгоритм сортировки, то вряд ли у кого-нибудь, кроме автора, хватит энтузиазма дойти до получения эстетического удовольствия.
Любой некрасивый код является либо учитывающим человеческий фактор, либо workaround-ом вокруг другого неправильного кода, либо неправильным кодом, который можно переписать кратко, красиво и понятно. Нет задачи, для которой нужно писать плохой код, бывает только мало времени/мало опыта/нежелание.
Здравствуйте, _Winnie, Вы писали:
_W>Любой некрасивый код является либо учитывающим человеческий фактор, либо workaround-ом вокруг другого неправильного кода, либо неправильным кодом, который можно переписать кратко, красиво и понятно. Нет задачи, для которой нужно писать плохой код, бывает только мало времени/мало опыта/нежелание.
Можно ли узнать твое понимание красоты кода?
Кстати, ты в своей фразе смешал два разных понятия: красивый и плохой. Красивый код так же может быть плохим.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, _Winnie, Вы писали:
_W>Любой некрасивый код является либо учитывающим человеческий фактор, либо workaround-ом вокруг другого неправильного кода, либо неправильным кодом, который можно переписать кратко, красиво и понятно. Нет задачи, для которой нужно писать плохой код, бывает только мало времени/мало опыта/нежелание. _W>кросспост
Код не бывает некрасивым, бывает что водки мало.
Не должно быть такого отдельного понятия как "красивый" код. Код либо делает что надо, либо не делает. Либо расширяется/дописывается, либо нет. Красивым может быть только результат работы кода.
aik wrote: > > Pzz>Я, кстати, один из немногих людей, кто не будет делать откровенную > Pzz>халтуру даже перед угрозой потерять работу. > > это — понты, исключительно. имхо.
aik wrote: > > Pzz>Что бы Вас убедило в том, что это не понты? > > Ничего Заявление прозвучало как "все вокруг ..., а я весь в белом". Мир > не черно-белый.
— Эй, мужик, ты че, интелихент?
— Что Вы, что Вы, я такой же жлоб, как и Вы!
Здравствуйте, _Winnie, Вы писали:
_W>Красивый — это всё.
_W>1) эстетически приятный
Слишком субъективно. Вычеркиваем
_W>2) (в меру)эффективный
Имхо, эффективность к красоте вряд ли имеет отношение. Эффективность -- это часть функциональных требований. Так что вычеркиваем
_W>3) сопровождаемый, расширяемый _W>4) легко читаемый и понимаемый..
Имхо, пункт 3) следует из 4).
А вместе они образуют такое понятие, как "простой код".
Итого, красота == простоте
Только нужно оговориться, что иногда для понимания "простоты" требуется достаточный запас знаний и опыта. А иногда еще и привычка.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, aik, Вы писали:
aik>Так. Еще раз. Про красоту кода книжку покажи. А не про качество.
В английском языке другой словарный запас и семантика на слово красивый, хороший, и правильный. Я думаю что термин "красивый" код — есть неправильная интерпретация переводных книг переводчиками.
Здравствуйте, _Winnie, Вы писали:
_W>Любой некрасивый код является либо учитывающим человеческий фактор, либо workaround-ом вокруг другого неправильного кода, либо неправильным кодом, который можно переписать кратко, красиво и понятно. Нет задачи, для которой нужно писать плохой код, бывает только мало времени/мало опыта/нежелание.
Во-первых, что такое некрасивый код? Что такое неправильный код? Тут много тонкостей, но вы, как мне кажется, делите все код на две части: "+" и "-"ю
Красив ли код, который генерирует, например, синтаксический анализатор? Можно ли его красиво перепивать для языков достаточно большой сложности? Будет ли его легко сопровождать?
Или можно взять другой пример: код выполняющий некоторый математический расчет. Исходный код получен в результате нескольких страниц математических выкладок. Понять суть кода без этих выкладок невозможно. Будет ли он красивым?
Здравствуйте, aik, Вы писали:
aik>Не должно быть такого отдельного понятия как "красивый" код. Код либо делает что надо, либо не делает. Либо расширяется/дописывается, либо нет. Красивым может быть только результат работы кода.
Ну почему же? Можем же мы оценить код, например, из эстетических соображений? Точно так же, как картину, роман или фильм?
Здравствуйте, Mystic, Вы писали:
aik>>Не должно быть такого отдельного понятия как "красивый" код. Код либо делает что надо, либо не делает. Либо расширяется/дописывается, либо нет. Красивым может быть только результат работы кода. M>Ну почему же? Можем же мы оценить код, например, из эстетических соображений? Точно так же, как картину, роман или фильм?
Это все равно что на дамп EXE файла смотреть. Нифига непонятно что он из себя представляет.
Mystic wrote: > > aik>Не должно быть такого отдельного понятия как "красивый" код. Код > либо делает что надо, либо не делает. Либо расширяется/дописывается, > либо нет. Красивым может быть только результат работы кода. > > Ну почему же? Можем же мы оценить код, например, из эстетических > соображений? Точно так же, как картину, роман или фильм?
Кто его сейчас так оценивает? Всем надо, чтобы работало хоть как-то, но
вчера...
Здравствуйте, Pzz, Вы писали:
>> Ну почему же? Можем же мы оценить код, например, из эстетических >> соображений? Точно так же, как картину, роман или фильм?
Pzz>Кто его сейчас так оценивает?
Тот, кто будет сопровождать его послезавтра.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
eao197 wrote: > >>> Ну почему же? Можем же мы оценить код, например, из эстетических >>> соображений? Точно так же, как картину, роман или фильм? > > Pzz>Кто его сейчас так оценивает? > > Тот, кто будет сопровождать его послезавтра.
Если код сейчас аккуратен, то те, кто будут сопровождать его
послезавтра, уж точно доведут его до ручки.
Сопровождатели редко утруждают себя тем, чтобы понять, как программа
работает. Их технология — найти место, и слегка подковырнуть. Если после
этого программа начинает падать по assert'у, перед assert'ом очень
быстро появляется //.
Здравствуйте, aik, Вы писали:
aik>Это все равно что на дамп EXE файла смотреть. Нифига непонятно что он из себя представляет.
Насколько я понял, предмет обсуждения суть некий код, набраный группой программистов, в частности одним человеком. Честно говоря, я лично различаю просмотр исходников и просмотр дампа, первое все же проще и более эстетично.
Mystic wrote: > > Pzz>Кто его сейчас так оценивает? Всем надо, чтобы работало хоть как-то, но > Pzz>вчера... > > Ну... мне кажется, что ты переносишь свой опыт работы на всех
Ну естественно, это основывается на опыте. В т.ч., опыте работы в core
team _крупных_ американских компаниях, имя которых я здесь называть не буду.
Я, кстати, один из немногих людей, кто не будет делать откровенную
халтуру даже перед угрозой потерять работу.
Здравствуйте, Pzz, Вы писали:
>> M>Ну почему же? Можем же мы оценить код, например, из эстетических >> соображений? Точно так же, как картину, роман или фильм? >> Это все равно что на дамп EXE файла смотреть. Нифига непонятно что он из >> себя представляет. Pzz>По-моему, если код выглядит, как г-но, он и работать будет как г-но. Pzz>Конечно, нечеловеческими усилиями и г-но можно хоть как-то заставить Pzz>работать, подставив подпорочек и подмотав изолентой
Очень незрело думать что ты верно понимаешь по виду кода его качество
Все это очень субъективно и относительно чтобы сразу говорить о качестве кода по его виду.
Мне не нравится как линукс написан. А работает... Эхехе. Всё б так работало.
Pzz>Не поэтому ли у простых человеков столь низкое доверие к компутерам, что Pzz>программы пишутся столь халтурно?
Это от необразованности в первую очередь. Клавиатура со 104 кнопками пугает. Поэтому то мыши и популярны так.
Халтура никого не пугает, достаточно посмотреть как продаются mp3 плееры (любые), мобилы Сименс/Моторола или компьютерные игрушки. Глюков и тупых недоделок тьма, но рынок подгоняет, и народ хватает как ошпаренный.
Здравствуйте, Mystic, Вы писали:
aik>>Это все равно что на дамп EXE файла смотреть. Нифига непонятно что он из себя представляет. M>Насколько я понял, предмет обсуждения суть некий код, набраный группой программистов, в частности одним человеком. Честно говоря, я лично различаю просмотр исходников и просмотр дампа, первое все же проще и более эстетично.
Просто смотреть на код (не вдаваясь в суть) и просто смотреть на дамп — одинаково полезные занятия. Я это имел ввиду. А как поймешь суть кода, то тут красота пойдет лесом, вылезут более интересные характеристики кода.
Здравствуйте, aik, Вы писали:
aik>Просто смотреть на код (не вдаваясь в суть) и просто смотреть на дамп — одинаково полезные занятия. Я это имел ввиду. А как поймешь суть кода, то тут красота пойдет лесом, вылезут более интересные характеристики кода.
aik wrote: > > Pzz>По-моему, если код выглядит, как г-но, он и работать будет как г-но. > Pzz>Конечно, нечеловеческими усилиями и г-но можно хоть как-то заставить > Pzz>работать, подставив подпорочек и подмотав изолентой > > Очень незрело думать что ты верно понимаешь по виду кода его качество > Все это очень субъективно и относительно чтобы сразу говорить о качестве > кода по его виду.
Зрело/незрело, это как раз очень субъективное суждение. Такое
утверждение невозможно оспорить по существу, что говорит о его
бессмысленности.
Мой опыт показывает, что общее качество оформления кода (всякие там
отступы, комментарии, консистентность в названиях переменных и т.п.),
вменяемость дизайна и количество ошибок на квадратный метр (т.е., на
строку) это связанные вещи.
Чем небрежнее код на вид, тем хуже он оказывается при более пристальном
рассмотрении...
> Мне не нравится как линукс написан. А работает... Эхехе. Всё б так работало.
Линух не так уж и плохо написан. Где-то на троечку с плюсом. На троечку
с плюсом он и работает
> Pzz>Не поэтому ли у простых человеков столь низкое доверие к компутерам, что > Pzz>программы пишутся столь халтурно? > > Это от необразованности в первую очередь. Клавиатура со 104 кнопками > пугает. Поэтому то мыши и популярны так.
А я думаю, в первую очередь дело в ненадежности этих самых програм.
> Халтура никого не пугает, достаточно посмотреть как продаются mp3 плееры > (любые), мобилы Сименс/Моторола или компьютерные игрушки. Глюков и тупых > недоделок тьма, но рынок подгоняет, и народ хватает как ошпаренный.
Ну да, народ и не ждет от них ничего, кроме глюков.
Здравствуйте, Kemsky, Вы писали:
K>Да, конечно. Но есть небольшое отличие. Если речь идёт о чём-то масштаба несколько больше, чем контейнер или алгоритм сортировки, то вряд ли у кого-нибудь, кроме автора, хватит энтузиазма дойти до получения эстетического удовольствия.
Например, при просмотре исходников TeX я полдучаю эстетическое удовольствие
Здравствуйте, Pzz, Вы писали:
>> Мне не нравится как линукс написан. А работает... Эхехе. Всё б так работало. Pzz>Линух не так уж и плохо написан. Где-то на троечку с плюсом. На троечку Pzz>с плюсом он и работает
Нет, он работает лучше чем на троечку, но что еще круче — работает там где остальные не работают вообще. Это вообще — пять. Расширяемость и наращиваемость — круче нет. Хотя и не идеал.
>> Pzz>Не поэтому ли у простых человеков столь низкое доверие к компутерам, что >> Pzz>программы пишутся столь халтурно? >> Это от необразованности в первую очередь. Клавиатура со 104 кнопками >> пугает. Поэтому то мыши и популярны так. Pzz>А я думаю, в первую очередь дело в ненадежности этих самых програм.
Нет. Чтоб осознать ненадежность, надо во1ых начать пользоваться, во2ых, начать серьезно пользоваться. Основные фичи софта как раз нормально работают, откровенной халтуры в популярных категориях софта мало.
>> Халтура никого не пугает, достаточно посмотреть как продаются mp3 плееры >> (любые), мобилы Сименс/Моторола или компьютерные игрушки. Глюков и тупых >> недоделок тьма, но рынок подгоняет, и народ хватает как ошпаренный. Pzz>Ну да, народ и не ждет от них ничего, кроме глюков.
Народ об этом и не думает ни разу. В голову не приходит, что они видят глюк. Или что что то сделано тупо, а могло быть и лучше — не видят они. Опроси свою родню про глюки в мобилах/плеерах/телевизорах и так далее. Я не о программерах говорю, в общем.
Здравствуйте, aik, Вы писали:
aik>Здравствуйте, Mystic, Вы писали:
aik>>>Не должно быть такого отдельного понятия как "красивый" код. Код либо делает что надо, либо не делает. Либо расширяется/дописывается, либо нет. Красивым может быть только результат работы кода. M>>Ну почему же? Можем же мы оценить код, например, из эстетических соображений? Точно так же, как картину, роман или фильм?
aik>Это все равно что на дамп EXE файла смотреть. Нифига непонятно что он из себя представляет.
Здравствуйте, eao197, Вы писали:
_W>>1) эстетически приятный
E>Слишком субъективно. Вычеркиваем
Я не согласен. Я уже приводил пример, что можно оценивать картину, фильм, и т. д. Да, оценка будет меняться от человека к человеку. Но этот процесс более-менее сходится. У признаных критиков на некотором этапе наблюдается сходимость данной оценки Иногда со временем. В любом случае, естетическая оценка может быть "эстетично" --- все критики согласны с тем, что код эстетичен, "спорно", "неэстетично" и т. д.
Здравствуйте, GlebZ, Вы писали:
GZ>Здравствуйте, _Winnie, Вы писали:
_W>>Красивый — это всё.
_W>>1) эстетически приятный GZ>Не знаю что такое. _W>>2) (в меру)эффективный GZ>Противоречит пункту 3 и 4 _W>>3) сопровождаемый, расширяемый GZ>Противоречит пункту 2 иногда 4 _W>>4) легко читаемый и понимаемый.. GZ>Противоречит пункту 2 иногда 3
Поэтому код, в котором остигается разумный компромисс между этими пунктами и можно назвать эстетически приятным
Здравствуйте, Mystic, Вы писали:
M>Я не согласен. Я уже приводил пример, что можно оценивать картину, фильм, и т. д. Да, оценка будет меняться от человека к человеку. Но этот процесс более-менее сходится. У признаных критиков на некотором этапе наблюдается сходимость данной оценки Иногда со временем. В любом случае, естетическая оценка может быть "эстетично" --- все критики согласны с тем, что код эстетичен, "спорно", "неэстетично" и т. д.
Покажи хоть одну книжку "признанного критика" кто бы писал о красоте кода.
Здравствуйте, Mystic, Вы писали:
aik>>Покажи хоть одну книжку "признанного критика" кто бы писал о красоте кода. M>Но многие пишут о том, как улучшить код
Так. Еще раз. Про красоту кода книжку покажи. А не про качество.
Здравствуйте, aik, Вы писали:
aik>Так. Еще раз. Про красоту кода книжку покажи. А не про качество.
Тем не менее про картину вполне естественно сказать "красивая". Точно так же учебники по изобразительному искусству не пишут про "красивые" картины, а раскрывают различные технические приемы
Здравствуйте, eao197, Вы писали:
E>Насколько я помню, в изобразительном искусстве вообще нет понятия "красивый". Это зрители делят картины на "красивые" и "не красивые". Художники такими понятиями не оперируют.
Ты когда нибудь видел код, который тебя поражал?
Правильно работающая программа — просто частный случай Undefined Behavior
aik wrote: > >>> Мне не нравится как линукс написан. А работает... Эхехе. Всё б так > работало. > Pzz>Линух не так уж и плохо написан. Где-то на троечку с плюсом. На троечку > Pzz>с плюсом он и работает > > Нет, он работает лучше чем на троечку, но что еще круче — работает там > где остальные не работают вообще. Это вообще — пять. Расширяемость и > наращиваемость — круче нет. Хотя и не идеал.
Здравствуйте, Pzz, Вы писали:
>>>> Мне не нравится как линукс написан. А работает... Эхехе. Всё б так Pzz>А что, вот такая програмка: Pzz> while(1) Pzz> fork(); Pzz>уже перестала его ронять?...
Тебе написать аналогичную прогу под винду? Результат тоже будет грустным.
Здравствуйте, _Winnie, Вы писали:
_W>Здравствуйте, eao197, Вы писали:
E>>Насколько я помню, в изобразительном искусстве вообще нет понятия "красивый". Это зрители делят картины на "красивые" и "не красивые". Художники такими понятиями не оперируют.
_W>Ты когда нибудь видел код, который тебя поражал?
Я, я видел. Я видел программу на фох-про с 19(девятнадцатью) вложенными циклами! Этого мне не забыть никогда!
Здравствуйте, _Winnie, Вы писали:
_W>Любой некрасивый код является либо учитывающим человеческий фактор, либо workaround-ом вокруг другого неправильного кода, либо неправильным кодом, который можно переписать кратко, красиво и понятно. Нет задачи, для которой нужно писать плохой код, бывает только мало времени/мало опыта/нежелание.
Визуально красивый код (функционально он может вообще не работать — это прежде всего код написанный по четким правилам некоего кодинг стандарта.
Грубо говоря, это когда все написано безобразно, но единообразно!
Здравствуйте, _Winnie, Вы писали:
E>>Насколько я помню, в изобразительном искусстве вообще нет понятия "красивый". Это зрители делят картины на "красивые" и "не красивые". Художники такими понятиями не оперируют.
_W>Ты когда нибудь видел код, который тебя поражал?
Поражал чем? Своим совершенством? Небрежностью? Изощренностью? Бесполезностью? Угробищностью?
Имхо, чтобы все это увидеть, вовсе не нужно далеко ходить, достаточно время от времени читать форумы RSDN. Ну например.
Здравствуйте, _Winnie, Вы писали:
_W>2) (в меру)эффективный _W>3) сопровождаемый, расширяемый _W>4) легко читаемый и понимаемый.. _W>5) ....
E>>Кстати, ты в своей фразе смешал два разных понятия: красивый и плохой. Красивый код так же может быть плохим.
Представь рекламу выставки: все картины написаны стойкими к солнечному свету красками, в рамках из натурального кедра, в стандартном формате, при необходимости легко сворачиваются в трубочку.
Мой критерий искуства в целом — это насколько оно раздвигает границы сознания, расширяет представления о реальности или выводит за её пределы. И если речь идёт о коде, то это может быть демонстрация некоторой техники, неочевидной на текущем этапе, которая может использоваться в частности для улучшения указанных качеств.
aik wrote: > >>>>> Мне не нравится как линукс написан. А работает... Эхехе. Всё б так > Pzz>А что, вот такая програмка: > Pzz> while(1) > Pzz> fork(); > Pzz>уже перестала его ронять?... > > Тебе написать аналогичную прогу под винду? Результат тоже будет грустным.
Здравствуйте, Mystic, Вы писали:
M>Я не согласен. Я уже приводил пример, что можно оценивать картину, фильм, и т. д. Да, оценка будет меняться от человека к человеку. Но этот процесс более-менее сходится. У признаных критиков на некотором этапе наблюдается сходимость данной оценки Иногда со временем. В любом случае, естетическая оценка может быть "эстетично" --- все критики согласны с тем, что код эстетичен, "спорно", "неэстетично" и т. д.
Исчо некатарыи крытики пешут "готично", "гламурна", "зач0т!", "аффтаржжот".
От критика к критику процесс индивидуален.