Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Vladimir Bormotov                    2:5020/400     15 Feb 2003  02:04:56
 To : Aleksey Barabanov
 Subject : Re: BadMEM
 -------------------------------------------------------------------------------- 
 
 
    Hi, Aleksey!
 
 >>>>> "AB" == Aleksey Barabanov <alekseybb@mtu-net.ru> writes:
 
 >> 2. гуру не хочет чтоб его порграммы поддерживались
 >>      -> никакой _другой_ гуру, не будет копаться в запутаном коде просто так.
  AB> No comment. Гуру непознаваем и неподражаем. А иначе он не Гуру ;)
 
  значит, следуя ранее выскзааной логике (ныне поскипаной), софт написаный
  гуру по определению unsupported.  
  
  Практика показывает обратное.
  
  
 >>  AM> Так как у молодежи от такого количества потребляемй травы, которая
 >>  AM> нужна для понимания сложных участков кода без единого комментария,
 >>  
 >>  гуру, которые Гуру, пишут комментарии.
 >>  
 >>  Хотя-бы для того, чтоб через пол года, когда к нему прийдет заказчик
 >>  (новый или старый), принесет кучу денег, и попросит "поддержать свой
 
  AB> Сказочки ;) 
  
  в Вашей реальности?  Может быть, но нигде не скзаано, что Ваша реальность,
  единсвенная из доступных реальностей ;)
  
  
  AB> Заказчик никогда, если он не идиот, просто так не связывается с софтом
  AB> подобного рода. 
  
  заказчику, на самом деле пофиг, пока оно работает, и решает его прикладные
  задачи.  Сколько людей "связываются с Windows"? ;))
  
  
  AB> Пример тому линукс и его неприятие "цивилизованным" рынком.  
  
  опять-же, может быть в Вашем понятии "цивилизованого рынка", это и так.
  В моем - все чуток по-другому.
  
  
  AB> А если у заказчика судьба такова, что ему без гуру не обойтись, то он
  AB> заранее знает на что подписывается ;)
 
  У заказчика судьба работать, выпоняя свои прикладные здачи.  Кто сделает
  ему более выгодное предложение, ему всеравно.  Его волнует "конечный
  результат", с необходимым качеством (большой список критериев), по
  максимально низкой цене.
  
  
 >>  софт, который он когда-от писал", не вспоминать (мучительно), почему он
 >>  тут написал именно так, и что мешало ему написать совсем по-другому,
 >>  по-правильному (он ведь за пол года кучу всего интересного узнал, и
 >>  теперь он "на пол года правильнее" ;).
 
  AB> Да именно это и является той чертой, что отличает гуру от лабуха.
  AB> Лабух (или "лабарь" - тот который "лабает") будет переделывать свой
  AB> старый код, а гуру выставить цену на новый и ни за что не вернется к
  AB> старому.
 
  вернется.  Чтоб выкинуть...  Кто-же должен на это решиться? ;)))
  
  
  AB> А иная политика обслуживания кода называется суппортингом.  Это когда
  AB> заказчик не выскакивет со своими бабками как чертик из коробочки а
  AB> заранее платит за продолжительное внимание гуру ;)
 
  политика, совершнно одинаковая.  Просто нужно понимать, что тот "гуру", к
  rоторому обращается end-user, на самом деле, при более близком
  рассмотрении, фактически два гуру.  "Гуру программинга" и "Гуру сапорта". 
  
  Первый понимает что нужно выкидывать старый код, по истечению некоторого
  срока, второй понимает, что нужно слешать заказчика, как говорить с ним на
  одном языке, как это все переводить на язык понятный гуру-прогармминга, и
  тд. 
  
  Еще бывает что это "три гуру" - плюс Гуру-Маркетинга (Sales-Guru), которые
  знают как менять лозунги, как говорить приятные для ушей заказчика слова,
  за котоыре они фактически и платят деньги ;)
  
  Да мало-ли каких Гуру бывает? ;)))
  
  
 >>  Он это прочтет в комментариях.  Которые сам для себя написал.  Именно
 >>  потому что он Гуру.  Так, ПРОЩЕ.  А проще, значит надежнее.  А надежнее -
 >>  значит лучше.  А за лучшее обычно платят больше ;)
 
  AB> Главное качество гуру - пренебрежение мелкими деталями ради создания
  AB> великого. 
  
  не знаю, не проверял.  Hо навскидку - не пренебрегают.  
  
  
  AB> Даже если гуру закомментировал свой код, он не будет перечитывать
  AB> комментарии ибо узучив код по-новой возможно он найдет более
  AB> оптимальное решение. 
  
  Перечитываьт комментарии нужно, хотя-бы из уважения к тому, кто их
  написал, или для элементарного поиска грамматических ошибок, чтоб
  придраться и постебаться ;)))
  
  
  AB> Значит комментарии гуру не нужны. 
  
  нужны.  Потому что написавший хороший комментарий не смог что-либо
  передать В КОДЕ.  Иначе, незачем бы было писать комментарий "код очевиден
  сам по себе".
  
  
  А если что-то "из кода не видно", то это наверняка какие-то грабли.  Как
  их обходили ранее - написано в комментарии.
  
  
  AB> Чем выше класс гуру, там мнемоничнее для него выглядит код, который
  AB> может представлятся чайнику вообще аброкадаброй. 
  
  Гуру-программинга ленив.  Он не хочет заниматься ТУПЫМ САПОРТОМ.  Значит
  он будет стараться спихнуть это на молодого программера.  Для того чтоб
  "спихивание" удалось - нужно писать код понятный молодому, иначе ему
  прийдется это все объяснять устно (в почте, итд), а это уже проще самому
  заняться тупым сапортом (быстрее получится, и качественее), но ведь
  ЛЕHЬ ЖЕ!
  
  Логика побеждает.  Писать простой и понятный код гораздо легче, чем
  заниматься тупым сапортом, и уж теболее (несоизмеримо) легче, чем
  объяснять молодому, "как работает непростой код".  Кроме того, просой код
  легче самому понять, когда молодой таки "не потянет", и прийдется
  заниматься не тупым сапортом, а переработкой кода (refactoring).  Да и в
  результате переработки - код становится проще.
  
  
  AB> А потом, зачем гуру возвращаться к уже созданному и отлаженному коду
  AB> как только для решения тойже проблемы иным путем ? 
  
  чтоб не повторять ошибочные решения, который были отброшены пол года
  назад.  Или, наоборот, чтоб переосмыслить причины, по которым были
  отброшены пол года назад решения, и некоторые из отброшеный
  "реинкарнировать", учитывая новые знания.
  
  
  AB> Hу а в таком случае, старое решение будет навязывать и старый способ
  AB> мышления.  
  
  опыт, сын ошибок трудных.  
  
  Если кому-то хочется снова и снова совершать ошибки, он будет "писать
  каждый раз с чистого листа".  Это часто кажется проще.
  
  
  
  AB> Комментированию или правильнее спецефицированию подлежат не тексты, а
  AB> исходные данные и полученные результаты, другими словами todo и
  AB> changelog.
 
  угу, если эти "исходные данные" вообще есть.  Примерно в 90% случаев
  данные таки есть.  Hо что делать в остальных 10%?
  
  
  AB> Доказательство моих слов : вы много видели комментариев в коде
  AB> линуксового ядра ? 
  
  я давно не смотрю код линуксового ядра, мне это не интересно (не было
  инетерсно даже тогда, когда приходилось смотреть ;)
 
  Случае когда "я смотрю код ядра через плечо человека, который этот код
  правит" я не рассматирваю.  Сотреть как работают другие люди можно
  практически вечно... ;)))
  
  
  AB> 99% этих комментариев это копирайт, ченьжелог и тодо ;) 
  
  Это проблемы (особенности, если будет так угодно) тех, кто пишет код
  линуксового ядра.
 
   
  Вот, первое что под руку попалось:
 
     def __cmp__(self, other):
         """compare e-v-r via rpm.labelCompare
 
         XXX check isinstance(other, self.__class__)
         XXX check self.name == other.name
         """
         return rpm.labelCompare(self.evr, other.evr)
 
  две строки комментария (засунутые в docstring, чтоб было видно не только
  при просмотре исходинка, но и при просмотре документации которая будет
  автоматически создана по исходнику, и в интепретаторе), на ОДHУ СТРОКУ
  КОДА.  
  
  А если подумать, то становится ясно, что это "две строки комментария", на
  то, что HЕ HАПИСАHО кодом.  По той или иной причине.  (в данном случае, 
  во-первых, было лень, во-вторых ничего полезного бы не сделало).
  
  Hо если это написать - будет навскидку строки четыре.  Если подумать, и
  написать хорошо - то может быть даже еще больше... ;))
  
    
  а вот, второе
  
  === cut ===
  
             # XXX ain't sure how costs should be encoded
             # XXX actually, "METHOD" is method name, not method code
             self.record_to_dom(_d, _root, _rec, (
                 ("CODE", "act_id", 1, {"AUTH":"EXT"}),
                 ("TYPE_ANLZ", "act_id", 1, {"AUTH":"INT"}),
                 ("WL_CODE", "act_id", 0, {"AUTH":"WL"}),
 
                 ("NAME", "txt", 1, {}),
                 ("METHOD", "method_cd", 1, {}),
 
                 ("BALLS", "cost", 0, {"unit":"1"}),
                 ("PRC_MAT", "cost_material", 0, {"unit":"%"}),
                 ("PRC_WORK", "cost_work", 0, {"unit":"%"}),
             ))
 
             # if service definition does not belong to any named group,
             # it is grouped under "root" service.
             if _rec["BOUND_TO"]: _group_id = _rec["BOUND_TO"]
             else: _group_id = "0"
  === cut ===
   
  тут, примеры полезных комментариев.
  
  1. исходных данных просто не было "ain't sure how..."
  2. METHOD - термин, который звучит одинаково, но применяется по-разному,
     уточняется контекст.
  3. пояснется что сделано, именно для новичка, чтоб он не гадал что
     такое _group_id = "0", а четко сразу понял - это "root service"
     
     
  AB> Все комментарии в названиях переменных.
 
  Если все так и есть на самом деле, то я рад за код линуксового ядра.   
  Там наверное все просто и прозрачно, и может быть легко выражено "только
  кодом"...  ;-)))
 >>  AM> едет крыша и они подаются в другие религии ?
  
 >>  молодежи просто плевать, на все ;)
 
  AB> Это, типа, им, молодым, видней ;) Я им не судья ;)
 
  "каждый понимает в меру своей распущенности" ;)))))
  
 -- 
    Bor.
 --- ifmail v.2.15dev5
  * Origin: BorHomeLand (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: BadMEM   Aleksey Barabanov   07 Feb 2003 01:53:20 
 Re: BadMEM   Zahar Kiselev   07 Feb 2003 08:57:04 
 Re: BadMEM   Aleksey Barabanov   07 Feb 2003 12:20:16 
 Re: BadMEM   Victor Wagner   07 Feb 2003 13:07:32 
 Re: BadMEM   Zahar Kiselev   07 Feb 2003 15:18:46 
 Re: BadMEM   Aleksey Barabanov   08 Feb 2003 00:02:05 
 Re: BadMEM   Victor Wagner   08 Feb 2003 01:05:30 
 Re: BadMEM   Aleksey Barabanov   08 Feb 2003 01:46:00 
 Re: BadMEM   Igor Suvorov   08 Feb 2003 08:45:24 
 Re: BadMEM   Boris Veytsman   08 Feb 2003 21:36:36 
 Re: BadMEM   Victor Wagner   08 Feb 2003 21:59:32 
 Re: BadMEM   Aleksey Barabanov   08 Feb 2003 23:00:52 
 BadMEM   Andrey Melnikov   10 Feb 2003 17:15:20 
 Re: BadMEM   Aleksey Barabanov   11 Feb 2003 00:22:19 
 Re: BadMEM   Gennady Terehov   11 Feb 2003 08:25:29 
 Re: BadMEM   Aleksey Barabanov   11 Feb 2003 10:52:34 
 Re: BadMEM   Zahar Kiselev   13 Feb 2003 19:36:26 
 Re: BadMEM   Vladimir Bormotov   13 Feb 2003 21:53:15 
 Re: BadMEM   Boris Veytsman   13 Feb 2003 22:15:35 
 Re: BadMEM   Aleksey Barabanov   14 Feb 2003 01:20:28 
 Re: BadMEM   Max Ischenko   14 Feb 2003 15:40:20 
 Re: BadMEM   Aleksey Barabanov   14 Feb 2003 23:55:49 
 Re: BadMEM   Valentin Nechayev   14 Feb 2003 16:12:45 
 Re: BadMEM   Aleksey Barabanov   14 Feb 2003 23:55:49 
 BadMEM   Andrey Melnikov   14 Feb 2003 17:11:04 
 Re: BadMEM   Vladimir Bormotov   14 Feb 2003 23:16:51 
 Re: BadMEM   Aleksey Barabanov   15 Feb 2003 00:17:10 
 Re: BadMEM   Vladimir Bormotov   15 Feb 2003 02:04:56 
 Re: BadMEM   Aleksey Barabanov   15 Feb 2003 12:54:51 
 Re: BadMEM   Vladimir Bormotov   15 Feb 2003 13:45:46 
 Re: BadMEM   Aleksey Barabanov   16 Feb 2003 01:33:46 
 Re: BadMEM   Aleksey Cheusov   15 Feb 2003 20:28:26 
 Re: BadMEM   Aleksey Cheusov   15 Feb 2003 20:43:39 
 Re: BadMEM   Aleksey Barabanov   14 Feb 2003 23:55:48 
 Re: Re: BadMEM   Alexandr S. Agranovsky   14 Feb 2003 08:19:33 
 Re: BadMEM   Gennady Terehov   11 Feb 2003 08:25:30 
 Re: BadMEM   Ђ«ҐЄб ­¤а \'SUre\' Џ®¤Є®Ї Ґў   11 Feb 2003 12:15:16 
 Re: BadMEM   Gennady Terehov   11 Feb 2003 18:54:49 
 BadMEM   Andrey Melnikov   12 Feb 2003 23:23:06 
 Re: BadMEM   Gennady Terehov   13 Feb 2003 08:09:47 
 BadMEM   Andrey Melnikov   12 Feb 2003 19:55:58 
 Re: BadMEM   Boris Veytsman   09 Feb 2003 01:09:07 
 Re: BadMEM   Alex Korchmar   09 Feb 2003 02:04:59 
 BadMEM   Andrey Melnikov   10 Feb 2003 17:21:46 
 BadMEM   Victor Bazhenov   07 Feb 2003 23:48:51 
 Re: BadMEM   Zahar Kiselev   07 Feb 2003 14:03:54 
 Re: BadMEM   Eugene Morozov   07 Feb 2003 22:53:23 
 Re: BadMEM   Aleksey Barabanov   08 Feb 2003 00:02:05 
 Re: BadMEM   Zahar Kiselev   08 Feb 2003 05:39:10 
 Re: Re: BadMEM   Alexandr S. Agranovsky   08 Feb 2003 11:19:02 
 Re: Re: BadMEM   Zahar Kiselev   09 Feb 2003 21:28:18 
 Re: BadMEM   Igor Tihonov   20 Feb 2003 18:50:43 
 Re: BadMEM   Zahar Kiselev   21 Feb 2003 01:07:58 
 Re: BadMEM   Igor Tihonov   21 Feb 2003 21:24:30 
 BadMEM   Vyacheslav Ladysev   21 Feb 2003 09:06:43 
 Re: BadMEM   Igor Tihonov   21 Feb 2003 21:28:32 
 Re: BadMEM   Valentin Nechayev   08 Feb 2003 13:09:59 
 BadMEM   Kirill Frolov   09 Feb 2003 04:27:08 
 Re: BadMEM   Valentin Nechayev   09 Feb 2003 14:41:06 
 BadMEM   Zahar Kiselev   09 Feb 2003 22:38:48 
 Re: BadMEM   Zahar Kiselev   09 Feb 2003 21:31:46 
 Re: BadMEM   Aleksey Barabanov   08 Feb 2003 14:14:03 
 BadMEM   Kirill Frolov   09 Feb 2003 04:24:10 
Архивное /ru.linux/2541a21467aa.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional