Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Общие вопросы по программированию, компьютерным наукам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 11.09.2019, 17:48   #1
oldsnowman
Форумчанин
 
Аватар для oldsnowman
 
Регистрация: 20.02.2015
Сообщений: 955
По умолчанию книга Роберта Мартина ЧИСТЫЙ КОД

Прочитал книгу Роберта Мартина ЧИСТЫЙ КОД. Хоть эту книгу и советовали прочитать, но честно скажу, там словоблудие с не очень хорошими примерами. Мало чего удалось почерпнуть из нее. Стал замечать что старые дядьки с "большим опытом" (80х,90х годов) пишут слабые книги. Если читали эту книгу, то интересно ваше мнение.
oldsnowman вне форума   Ответить с цитированием
Старый 11.09.2019, 17:50   #2
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,458
По умолчанию

Может с чистый кодЕР перепутали? Обычно ее советуют.
А по коду Макконнелла.
Alex11223 вне форума   Ответить с цитированием
Старый 11.09.2019, 19:50   #3
Pavia
Лис
Участник клуба
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 1,993
По умолчанию

Цитата:
Сообщение от oldsnowman Посмотреть сообщение
Прочитал книгу Роберта Мартина ЧИСТЫЙ КОД. Хоть эту книгу и советовали прочитать, но честно скажу, там словоблудие с не очень хорошими примерами. Мало чего удалось почерпнуть из нее. Стал замечать что старые дядьки с "большим опытом" (80х,90х годов) пишут слабые книги. Если читали эту книгу, то интересно ваше мнение.
Просто Вы всё знаете, и даже больше чем написано в этих книгах, вот вам и неинтересно. А слабо написать лучше них?
Сейчас на работе сочиняю РЭ. По себе могу сказать что написал 10% от задуманного. Тут талант нужен.
Вот из литераторов у меня только один кумир: физик Фейнман. Он пишет так как никто другой. И при этом врёт так что недокажешь.
А ещё у нас на работе был Вассилий Петрович. Он вроде и по делу пишет, но вода водой. Правда читать одно удовольствие. За исключением пары мест где явно смысловая-волна напоролась на глыбу-формализма.
Из программистов хочу упомянуть Эндрю Таненбаум. Где-то у меня была его первая книга про ОС. Так вот она была разительно хуже написана чем 1 издание Современные операционные системы. Как будто другой человек.
Я вообще считаю что его книги писали по методики Симсонов когда Лиза была выдуманным автором.

По поводу качества книг. Программирование это и есть болталогия. Многие считают что наука появляется где есть числа. Но где есть числа в программировании?
Постановка Барбара Да. Нормальная форма СУБД да. Однако в распределённые сетях когда нужускорить обработку нормальные формы не работают. Алгоритмы. Есть формулы. Но проблема в O-большом. Оно не даёт верных оценок. К примеру поиск медианы линейный O(n). Но реальный выигрыш только на массивах больше 100 элементов. А линейный алгоритм поиска blobs на изображений всегда проигрывает рекурсивному.
Или взять алгоритмические правила оптимизации. Вынос условия из цикла одна из двух-трёх десятков рекомендаций Интела. Но в армах на коротких условия эта рекомендация неработает так как там короткие условия ничего не стоят.

Доказательная безопасность не работает. Она не спасает от логических ошибок или переполнение числа хэндлов.
Связь Чёрча и Тьюринга доказана для малого подмножества алгоритмов. Хотя формально это означает равенство этих подходов.
Классификация Хомского 4 класса сводятся к 2. Вот кто объэтом знает? Да никто. Так как Парсер проще построить по теории сдвиг-свёртка.

Вся теория информатики расходится с практикой. И очём тут обсуждать.

Качественный код Макконнелла это ведь тоже собрание лучших практик. Та статистика на которой стоятся доказательства просто нерепрезентабельна.

Цитата:
Сообщение от oldsnowman Посмотреть сообщение
Прочитал книгу Роберта Мартина ЧИСТЫЙ КОД. ... Если читали эту книгу, то интересно ваше мнение.
Гораздо слабее чем книга Макконела.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума   Ответить с цитированием
Старый 11.09.2019, 19:56   #4
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 14,876
По умолчанию

Цитата:
Сообщение от Pavia Посмотреть сообщение
А слабо написать лучше них?
А зачем? за это никто не заплатит.
Alar на форуме   Ответить с цитированием
Старый 11.09.2019, 20:20   #5
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,458
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
за это никто не заплатит.
заплатят если известность прокачана.
Еще как вариант через курсы, воркшопы и т.д.
Alex11223 вне форума   Ответить с цитированием
Старый 28.10.2019, 18:42   #6
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,458
По умолчанию

чот автор вкинул тему и ушел (

Вот немного обсуждения и ссылок про косяки этой книги:

Цитата:
Сообщение от https://github.com/Hexlet/hexlet-slack-archive/wiki
Kirill Samsonov
https://github.com/devSchacht/clean-code-javascript на заметку тем, кто не читал Clean Code или не дружит с англ, выжимка best practice

Дьордь Дарваш
ну и для php есть https://github.com/peter-gribanov/cl...b/ru/README.md

kirill.mokevnin
я там могу вредные советы еще выделить из этих

https://github.com/peter-gribanov/cl...два-или-меньше – вот это хорошо/плохо должно по совершенно другому критерию оцениваться

#функции-должны-делать-что-то-одно вот это лажа полная. так просто не работает. Тут другой критерий.
это дядя боб SRP типа для функций определил, но оно так не работает

#функции-должны-быть-лишь-одним-уровнем-абстракции идея важная (тут целую книгу нужно писать), но блин, показывать как пример хорошего разбиения три разных класса вместо просто функций это эребор
вводить состояние там где был просто процесс
и потом все начинают думать что классы это решение всех проблем (нет)

#не-используйте-флаги-в-качестве-параметров-функций вопрос поднят хороший, но вывод неверный. потому что флаг это не обязательно “разные вещи”, соответственно решение может быть совершенно другим

#не-пишите-в-глобальные-функции вот это полный булшит. Опять классы ни к селу ни к городу. Инверсия зависимостей и глобальные переменные проблема ортогональная тому как хранятся данные
второе вообще не важно для рассматриваемой темы “избегайте глобалов”

#не-используйте-шаблон-одиночка-singleton
описанные проблемы только частично раскрывают проблему и частично притягивают за уши то чего там нет.

#избегайте-условных-выражений
вот это опять передргивание, имеют смысл оба подхода, все зависит от ситуации. Причем ни один из них не лучшего другого. Это давно известная тема и называется expression problem
ну а показывать что любой свитч надо менять на такое количество классов (сколько кейсов) это ваще простите жесть

дальше устал )
к этой книге всегда было много претензий
могу сказать что с тех пор как дядя боб ее написал, он многое переосознал, если кто читает его блог

#избегать-текучий-интерфейс-fluent-interface вот тут тоже обман чертов. то что он описывает имеет отношения только к мутациям. И это нарушение принципа CQS. Тут fluent это вообще следствие этого принципа. а он выдает его за причину.
fluent interface можно и нужно всегда использовать там где immutable chain

Kirill Samsonov
Никто не говорил, что clean code - абсолютная истина
надо любую информацию критически воспринимать
прочитал книгу - выделил для себя нужное
Это не значит, что пошел применять сразу все безоговорочно

kirill.mokevnin
Кирилл ты не дооцениваешь
я могу тебе так сказать, она настолько наслуху, что очень у многих в списке что почитать она на первом месте

я регулярно общаюсь с ребятами и рекомендую перключиться на другое

даже сюда посмотри, люди ведь не всю книгу целиком переложили, они переложили то что посчитали важным в тот труд на гитхабе, и там столько косяков (иногда очень серьезных).
это говорит как раз о непонимании

просто потом видны следствия из вот таких вот книг, и конкретно тут претензия к дяде бобу

ты видел его выступления?

он умный дядька, много сделал
но его стиль и подача, он всегда говорит немного свысока, как будто он познал жизнь
остальные малыши, которых надо научить, и книги так же.

Kirill Samsonov
Причем тут Боб, если человек не видит причину и следствие и начинает бездумно следовать правилам

kirill.mokevnin
ну то, что авторитеты влияют, люди прислушавают.
критический аппарат он не в вакууме работает, он появляется от знания предметной области

Kirill Samsonov
Если ты не можешь выделить для себя причину почему так делать, а просто следуешь - это очень странно

kirill.mokevnin
тогда все странные

возьми те же паттерны:
сколько людей по настоящему понимает что они делают зачем и почему, какие были альтернативы
и почему нужно это решение

Kirill Samsonov
Надо просто задавать вопрос почему так делают и применимо ли это к текущей ситуации

kirill.mokevnin
кому?

Kirill Samsonov
себе в первую очередь

kirill.mokevnin
если нет понимания что происходит, это бесплезное занятие

Kirill Samsonov
А то это будет напоминать человека который прочитал GoF и везде херачит паттерны
я сталкивался с таким
где надо и не надо

kirill.mokevnin
ты щас описал почти любого кто прочитал гоф
в том числе и меня кстати (много лет назад)

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

kirill.mokevnin
кстати я помню Юля когда еще тут была забавную фразу сказала
по поводу ооп
я хотел записать, это прямо классика заблуждений
там что то было на тему что в php без паттернов нечего делать и так далее, и надо знать наизусть гоф.

Kirill Samsonov
Хочешь глубже - прочитать надо книгу полностью, во первых будет контекст, во-вторых даже те советы которые ты посчитал заблуждениями рассмотришь более глубоко и их предпосылки там описываются) а принимать их или нет уже другое дело

Просто ты их сходу называешь вредными, но это опять же твое субъективное мнение как и мнение автора книги, где действительно много спорных советов. и если следовать им всем получиться полная херня)

Это в смысле не тебе конкретно призыв к действию) а условному читателю

kirill.mokevnin
По поводу дяди боба как я уже говорил, можно почитать его переписки с другими, посмотреть за его блогом

во первых он очень сильно поменял свое мнение во многих вещах и теперь пишет что кложа лучший язык на свете

во вторых очень умных людей много ему говорили и говорят что он много где неправ

Kirill Samsonov
Нафига вообще учить паттерны, если все они строятся на основе одних и тех же принципах построения правильных абстракций, просто выделили наиболее частые частные случаи)

kirill.mokevnin
Иметь общее представление надо) учить - очень странно реально

kirill.mokevnin
https://habr.com/ru/post/189094/ вот вдруг кто не видел

я могу тебе так сказать, она настолько наслуху, что очень у многих в списке что почитать она на первом месте
у нас тут как начнёшь смотреть вакансии, так где то в каждой второй будет упомянут клин код

Kirill Samsonov
Ты про другую книгу вообще говоришь
Я про Code Clean, Роберт Мартин
Чистый код, там мне кажется одни заблуждения как раз и есть

kirill.mokevnin
его зовут дадюшка боб, это и есть роберт мартин
https://blog.cleancoder.com/

Kirill Samsonov
Я про ту, которая Совершенный код, а не чистый код

kirill.mokevnin
а мы тут про clean code, он же чистый код
совершенный код это вообще из другой оперы, и написал ее макконнелл

Kirill Samsonov
блин, я перепутал с Code Complete
Code Clean там вообще очень много странных советов неоднозначных
и все сверху еще и джавой намазали

kirill.mokevnin
именно поэтому у нас в рекомендованных есть совершенный код но нет чистого кода
и там на хабре в статье тоже показано
он говорит одно а в коде делает абсолютно другое, показывает не эквивалентные примеры, передергивает

Kirill Samsonov
TLDR совершенный код - топчик, чистый код - говно
* для людей без критического мышления

kirill.mokevnin
так вот все те советы они по чистому коду, представь как это влияет

Kirill Samsonov
Ну там есть парочка ничего таких)

kirill.mokevnin
в инете тьма вот таких статей https://dev.to/bosepchuk/why-i-cant-...t-c-martin-ofd
Why I can't recommend Clean Architecture by Robert C Martin
Software architecture is an important topic. Let me explain why you might want to skip reading Clean Architecture and what you should read instead.

это касается большинства его книг

Последний раз редактировалось Alex11223; 28.10.2019 в 18:52.
Alex11223 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чистый js, after Predator199 JavaScript, Ajax 10 01.06.2014 22:19
рекурсия(чистый си) Daud94 Помощь студентам 0 04.01.2013 13:41
Чистый код kacomp PHP 5 13.10.2012 10:37
Чистый ассемблер 777user777 Assembler - Ассемблер 9 03.02.2011 07:29
Чистый бинарный код НикСерг Общие вопросы C/C++ 16 09.11.2009 16:06


09:57.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.