Хабр идет на выручку
Автор: Мышык Лев ФедоровичДалее слово "код" заменено на слово "текст", а слово "программист/разработчик" на слово "писатель/автор".
В остальном исходник я не трогал.
Хороший автор мудр, а не гениален
Автор оригинала: Ravi Shankar Rajan
Одним из самых важных уроков, которые я постиг 15 лет назад, была эта простая мысль:
Хороший текст выразителен, а не впечатляющ.
Я помню, как услышав это спросил «А в чём разница?», и получил ответ.
«Выразительный» — понятный, однозначный и конкретный. А раз так, написание выразительного текста потребует работы с конкретной задачей. Вложение сил и времени в его создание служит конкретной цели, а результат соответствует ожиданию.
«Впечатляющий» — текст, который запоминается. Написание текста, запоминающегося своими сложными структурами и алгоритмами, хотя и почешет ваше эго, станет настоящей болью для того, кто будет перечитывать его в будущем. И если последний окажется маньяком, узнавшим ваш адрес, храни вас Господь от его гнева.
Именно поэтому хороший автор мудр, а не гениален. Мудрый автор обладает не только умом, но и способностью постоянно думать о последствиях своих действий. Он знает какой конкретно текст пишет, для чего он это делает и, главное, как текст поведёт себя в будущем. Или, если проще, мудрый автор пытается лечить болезнь, а не симптомы.
«Гениальные» писатели, так же обладая умом, напротив, думают лишь о настоящем. Они умеют решать текущие проблемы быстро и эффектно. Вот только гора от их хаков и выкрутасов постоянно накапливается и однажды обрушает книгу, хороня под собой репутации всех причастных. Вот почему Стив Макконнелл однажды верно заметил:
Писательство — не работа в ЦРУ, вам не нужно быть смекалистым.
И мудрые авторы не делают ничего смекалистого. Они пишут скучный и простой текст, который легко понять. Ни больше, ни меньше.
Вот ещё несколько принципов мудрых авторов.
Они предпочитают простоту
Мартин Фаулер однажды сказал:
Любой дурак может писать книгу, понятную писателю. Хороший автор пишет книгу, понятную читателю.
Иногда у авторов возникает желание самоутвердиться. Показать окружающим свой талант. И они начинают искать заумные решения для каждой встречной проблемы, хотя простое решение прямо под рукой. И это одна из худших ошибок, которую только может совершить автор.
Мудрый автор пишет прямолинейный текст. Его легко поддерживать, оптимизировать и рефакторить при необходимости. Текст не делает чего-то хитрого, каждый кто с ним сталкивается, сразу примерно понимает что происходит «под капотом». Передовые и необычные алгоритмы отлично проявляют себя во время ночного спринта на кофе и энергетиках, но сильно подводят чуть позже.
Когда эго начинает потихоньку вас искушать во время писательства, спрашивайте себя: «Если я вернусь к работе с этим текстом через 2 месяца, смогу ли я вспомнить, что конкретно тут происходит?» Если ответ — «да», то дерзайте. Помните, однако, о своих читателях, которым когда-нибудь придётся это перечитывать!
Текст — он как анекдот. Если его нужно объяснять, он плох.
Они знают, когда (не)нужно оптимизировать текст
Эдсгер Дейкстра однажды верно заметил:
Хороший автор сосредоточивается на том ДЛЯ ЧЕГО, а не на том С ПОМОЩЬЮ ЧЕГО при написании текста.
Тем не менее, есть много разных путей оптимизировать написанное. Каждый из них связан с изменением количества потребляемой памяти, процессорного времени и конкретного алгоритма. И мудрые авторы выбирают этот путь прагматично.
Но, прежде чем начать что-то улучшать, они следуют золотому правилу «не навреди».
С какой целью я собираюсь что-то менять? Возможно, книга уже прекрасно решает поставленную задачу? Учитывая, как именно и в каком окружении книгу прочтут, есть ли вообще смысл делать её быстрее/лучше? На все эти вопросы надо ответить самому себе перед тем, как начинать оптимизацию.
Любая оптимизация имеет смысл только в контексте трудозатрат и отдачи, если книга важна, и она действительно медленно читается, и есть разумные основания полагать, что её можно оптимизировать, сохранив надежность, правильность и ясность. Книга, выдающая ошибочные результаты, никому не нужна, какой бы быстрой она не была. Хорошо оптимизированный текст лучше не оптимизированного, но при неправильном подходе, верно обратное.
Помните: любые изменения производительности при оптимизации нужно замерять. Интуиция в этом деле — плохой помощник.
Они предпочитают использовать, а не создавать текст
Вик Гундотра попал в яблочко, как-то сказав:
Вы начинаете с написания текста. Я начинаю с поиска решения.
И мудрые авторы следуют его примеру. Они начинают с поиска уже готового текста. Хотя некоторым и кажется, что они-то сейчас всё сделают с нуля «как правильно», большинство заканчивает банальным изобретением велосипеда.
Не стесняйтесь гуглить. Поиск решений, будь то онлайн или в собственной базе, полезен уже хотя бы с точки зрения изучения подходов, сработавших ранее в похожих задачах, а так же их плюсов и минусов. Вот почему мудрые авторы проводят немало времени читая чужой текст, перед тем, как начать писать собственный. Создание с нуля всегда стоит времени, денег и энергии. Не растрачивайте ресурсы, пока это и правда станет необходимо.
Так что при решении очередной задачи попробуйте сначала посмотреть, решал ли кто-либо её до вас. Вы не избегаете своей работы, вы избегаете ненужной работы.
Они стараются быть лучше
Аристотель сказал однажды:
Если вы работаете над чем-то, что уже умеете, вы не станете лучше.
Мудрые авторы стараются усовершенствовать себя, а точнее свой текст при каждой возможности. Они достаточно скромны, чтобы сознавать, что свой лучший текст они ещё не создали.
Они не отсиживаются в зоне комфорта, раз за разом используя один и тот же подход. Они всеми силами стараются, чтобы собственные привычки не стали для них догмой. Они постоянно ищут способы и возможности сделать лучше, особенно если смогут научиться чему-то новому в процессе.
Мудрые авторы не очаровываются модными технологиями и крутыми фичами. Они достаточно прагматичны, чтобы понимать, что серебряной пули не существует и любой подход имеет свои плюсы и минусы.
Они не боятся просить помощи
Сократ произнёс:
Если бы мы постоянно помогали друг другу, никому бы не понадобилась удача.
Как авторам, нам нравится думать о себе как об умных людях. К тому же, среди нас и правда есть гении. Но мы так же склонны считать, что должны знать всё на свете. И правда, кому приятно сказать перед коллегами: «Я не знаю»? Кто захочет признаться, что новая технология для него — набор иероглифов?
Вместо этого вы тихо шепнёте себе: «Я разберусь в этом самостоятельно. Я уже делал так много раз раньше, смогу и сейчас.»
Мудрые авторы так не поступают. Они знают, когда нужно думать самому, а когда нужно попросить помощи. Они уже знают, что затягивая с просьбой помочь, лишь убивают время до наступления дедлайнов, что повредит всей команде. А потому не боятся показаться некомпетентными и просят помощи тогда, когда это нужно.
Своевременная просьба о помощи не подорвёт веру коллег в ваши возможности. Она укрепит уверенность в вас, как в профессионале, готовом делать всё необходимое, чтобы уложиться в сроки и добиться качественного результата.
Как однажды заметила Кюбра Саит:
Положительные изменения начинаются с вопросов.