Архив метки: programming

Чистый код как культура программирования

Поднятая недавно тема парадокса «разбитых окон» привела к рождению данного поста. Как говорится, «чисто не там, где убирают, а там, где не сорят«. О важности чистого кода написана Робертом Мартином (Uncle Bob) замечательная книга Clean Code, которую я очень рекомендую почитать, а также посмотреть его видео-лекции на тему чистого кода: умно, кратко, понятно, по делу и с юмором.

Ну, а как же сделать так, чтобы команда в коде не сорила? Помимо устного свода правил, обучения новичков, проверки кода, есть некотоые инструменты, которые помогают каждому программисту в команде автоматически следить за качеством своего и чужого кода и замечать на ранних этапах следы «ржавчины», «разбитые окна» и мусор в коде, еще до того, как наросли сверху слои нового мусора и ржавчины. Чем раньше и быстрее вы будете убирать мусор, тем явнее будет виден новый мусор, тем труднее будет в чистом коде сорить вам и другим разработчикам в команде.

Читать далее

Реклама

О «железе»

При настройке производительности торговой системы для достижения минимальных задержек приходится обращать внимание на все уровни системы, от программного до аппаратного. Желательно ознакомиться с железной частью компьютера, чтобы понимать, как и что работает в процессоре, в памяти и в сети. Так будет легче понять, почему именно эти настройки нужны в данном случае и вредны — в другом. С пониманием аппаратного слоя системы вы становитесь лучше как программист.

Читать далее

О разбитых окнах и культуре производства

К теме чистого кода, культуре производства программного обеспечения, навыков работы в команде: заметка Руслана Черемина. И наше с ним обсуждение.

Low-latency оптимизации на всех уровнях торговой системы

В предыдущей статье я говорил об оптимизации вообще, а теперь приведу несколько советов по low-latency оптимизациях в Java-приложениях на всех уровнях торговой системы:

  • аппаратный уровень: процессор, сетевой интерфейс, коммутация
  • операционная система
  • настройка JVM
  • оптимизации на уровне приложения

Читать далее

6 книг о том, как стать хорошим программистом и им оставаться

Из книги Стива Макконнелла Совершенный код:

Ваш работодатель не может заставить вас стать хорошим программистом; в многих ситуациях он даже не может оценить, насколько хороши вы как программист. Если вы хотите стать отличным программистом, вы отвечаете за это сами. Это зависит от вашего характера.

Что отличает профессионала от халтурщика? Профессионал не останавливается в самосовершенствовании. Он понимает, что всегда есть чему поучиться новому, что он пишет пусть и хороший код, но не лучший. Лишь полный профан или посредственность считает себя Самым Лучшим Программистом на свете, Которому уже Не надо Учиться.

Как стать хорошим профессиональным программистом? Как выбрать карьеру в программировании? Как прокачивать скиллы? Как расти над собой, не отставать от поступи прогресса? Как стать ценным сотрудником, как сделать так, чтобы работа находила тебя, а не ты искал работу, как уметь подавать и продавать себя?

Читать далее

Лажать меньше, чем год назад

Из Coding Horror (3 марта 2006 г.): Лажать меньше, чем год назад, именно так скромные программисты становятся лучше. Вы должны быть недовольны кодом, который был написан вами год назад. Если вас всё устраивает, это значит, что либо а) вы ничему за год не научились, б) ваш код невозможно сделать лучше, в) вы на старый код никогда не смотрите. Все эти варианты означают, что на вас как на программисте можно ставить крест.

Как на самом деле разорился Knight Capital

Статья в Википедия

Полный отчет SEC

Отличная книга Knightmare on Wall Street

Статья Knightmare: A DevOps Cautionary Tale

Статья на habr.com: Как 45 минут терять по $172 222 в секунду

habr.com: Как не мусорить в Java

Интересная статья на habr.com о том, как писать на Java low-latency приложения так, чтобы в heap не создавался мусор и значит не вызывался сборщик мусора, который может привести к непредсказуемым задержкам в самый непододящий момент торгового дня. Почитайте также и комментарии.

Epic fails: учиться на чужих ошибках никогда не поздно

Учиться программисту нужно всегда, чтобы не отстать от бешеных темпов развития технологий 21-ого века. Еще полезно программисту учиться на чужих ошибках. В качестве ежедневного чтива люблю читать следующие сайты:

Читать далее

Жил был программист Richard Rose

Жил был программист Richard Rose.

После работы на ведущие банки мира (Goldman Sachs, Morgan Stanley, Bank of America, UBS и прочее), он решил, что настало время уйти на вольные хлеба и реализовать свои идеи и наработки в коммерческом продукте. План состоял в том, чтобы создать движок, совмещавший OMS и соединение с рынком, который бы способен был перемещать сообщения с задержкой в микросекунды и даже меньше. Движок был написан на Java.

Читать далее