<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://t8.lbstr.eu/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D0%BC%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B1%D0%B8%D1%80%D0%B0%D1%82%D1%8C%D1%81%D1%8F_%D0%B2_%D1%87%D1%83%D0%B6%D0%BE%D0%BC_%D0%BA%D0%BE%D0%B4%D0%B5</id>
	<title>Умение разбираться в чужом коде - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://t8.lbstr.eu/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D0%BC%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B1%D0%B8%D1%80%D0%B0%D1%82%D1%8C%D1%81%D1%8F_%D0%B2_%D1%87%D1%83%D0%B6%D0%BE%D0%BC_%D0%BA%D0%BE%D0%B4%D0%B5"/>
	<link rel="alternate" type="text/html" href="https://t8.lbstr.eu/index.php?title=%D0%A3%D0%BC%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B1%D0%B8%D1%80%D0%B0%D1%82%D1%8C%D1%81%D1%8F_%D0%B2_%D1%87%D1%83%D0%B6%D0%BE%D0%BC_%D0%BA%D0%BE%D0%B4%D0%B5&amp;action=history"/>
	<updated>2026-11-04T21:42:31Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://t8.lbstr.eu/index.php?title=%D0%A3%D0%BC%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B1%D0%B8%D1%80%D0%B0%D1%82%D1%8C%D1%81%D1%8F_%D0%B2_%D1%87%D1%83%D0%B6%D0%BE%D0%BC_%D0%BA%D0%BE%D0%B4%D0%B5&amp;diff=22737&amp;oldid=prev</id>
		<title>imported&gt;Txxx: /* Значение фразы */</title>
		<link rel="alternate" type="text/html" href="https://t8.lbstr.eu/index.php?title=%D0%A3%D0%BC%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B1%D0%B8%D1%80%D0%B0%D1%82%D1%8C%D1%81%D1%8F_%D0%B2_%D1%87%D1%83%D0%B6%D0%BE%D0%BC_%D0%BA%D0%BE%D0%B4%D0%B5&amp;diff=22737&amp;oldid=prev"/>
		<updated>2019-09-02T11:19:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Значение фразы&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Файл:Umenie.JPG|thumb|Умение разбираться в чужом коде реквестед&amp;lt;ref&amp;gt;На самом деле, код из [[C++#Шаблоны|книжки Александреску]] и из либы Loki и при вдумчивом чтении всё совершенно понятно.&lt;br /&gt;
{{цитата|— Я делаю особую, шаблонную [[Девид Блейн|магию]]&amp;lt;br/&amp;gt;— Не-не-не, Андрей Александреску, не-не-не|[[Баян|Анекдот]]}}&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;«Умение разбираться в чужом коде»&amp;#039;&amp;#039;&amp;#039; — строка-[[детектор]], которая содержится чуть более, чем во всех вакансиях на должность [[быдлокодер|программиста]] и смежные должности. Чаще всего акцент на этой фразе делается для вакансий разработчика на [[C++]] и [[PHP]], где «чужой» не только код.&lt;br /&gt;
&lt;br /&gt;
== Значение фразы ==&lt;br /&gt;
* Вроде как компания ищет высококлассного специалиста.&lt;br /&gt;
* Этот специалист должен быть настолько хорошим, что мог бы даже разбираться в чужом коде.&lt;br /&gt;
[[На самом деле]] [[There is no spoon|никакого такого умения не существует]]. Любой человек, способный писать, [[Чукча не читатель|может и читать]]. Другое дело, что можно писать так, что потом сам хрен прочитаешь. Усугубляется это тем, что в сравнении с натуральными языками языки программирования, на человеческий взгляд, перегружены «пунктуацией», которая в них крайне важна и [[Grammar Nazi|не терпит ошибок]], а небольшие «слова» [[Программа из одной строчки на Perl|могут иметь очень большую (и неочевидную) смысловую нагрузку]].&lt;br /&gt;
&lt;br /&gt;
Потому и существуют [[Lurkmore:Гайдлайны|гайдлайны]], они же правила оформления. Например, не лениться использовать «говорящие» названия переменных и функций, даже если они длинноваты, оставлять комментарии в ключевых местах (то есть почти везде), не использовать [[goto]]-подобные операторы и так далее. И если подобных единых правил придерживаешься, то код хоть немного, но можно читать. Однако код, написанный [[дедлайн|в спешке]], почему-то получается нечитабельным у большинства разработчиков.&lt;br /&gt;
&lt;br /&gt;
== Настоящее значение фразы ==&lt;br /&gt;
* Нужен идиот, который согласен разгребать это дерьмо.&lt;br /&gt;
* Руководитель свято верит, что причина получающегося дерьма в нерадивых программистах, а не в нём.&lt;br /&gt;
* Разгрести это дерьмо у тебя не получится при любом желании, так как от тебя будут требовать писать всё [[MOAR|больше]] и [[больше 9000|больше]] кода, который непонятно как придётся прикручивать к уже существующему, на вдумчивое разгребание времени не останется совсем.&lt;br /&gt;
* В разработке архитектуры ПО используется метод «снизу вверх», требования меняются постоянно в зависимости от [[желание левой пятки|настроения левой пятки]] руководителя.&lt;br /&gt;
* С 2011 года среди [[Java]]-разработчиков фраза приобрела новый оттенок: программисту подсовывают («посмотреть», доделать, переделать, заставить работать…) под видом собственной разработки довольно качественный код, [[Reverse Engineering|декомпилированный]] из какого-нибудь коммерческого продукта. [[Реврайтинг|Ну и…]]&lt;br /&gt;
&lt;br /&gt;
== Что мы узнаём об организации по такой вакансии ==&lt;br /&gt;
* [[Макдональдс|Большая текучка кадров]].&lt;br /&gt;
* Некому толком поставить процесс разработки в верную позу (при грамотной организации процесса разработки ПО код получается таким, что разобраться в нём не составит труда для любого программиста).&lt;br /&gt;
* Темпы разработки постоянно подгоняются начальством, качество кода ужасно, переписывать приходится больше, чем писать.&lt;br /&gt;
* Качество ПО, производимого этой конторой — дерьмо.&lt;br /&gt;
* Вам будут перманентно ебать мозг.&lt;br /&gt;
&lt;br /&gt;
== Что мы узнаём о работнике ==&lt;br /&gt;
Если фраза встречается в резюме, то означает симметричное:&lt;br /&gt;
* я готов копаться в любом дерьме;&lt;br /&gt;
* я буду писать такой код, разобраться в котором можно, только обладая данным умением;&lt;br /&gt;
* я умею заставить работать то, что накодили разработчики.&lt;br /&gt;
&lt;br /&gt;
== Когда сабж оправдан ==&lt;br /&gt;
Встречаются случаи, когда такое требование размещают в вакансиях оправданно. Это могут сделать после опыта работы с ковбоями-идеалистами. Когда такие люди сталкиваются с любой программой, они сразу же начинают истерить и пытаться переписать всё с нуля по своим лекалам. Тем не менее «умение разбираться в чужом коде» — это OCHE плохая формулировка. Годная альтернатива — это «[[толерантность|терпимое отношение]] к чуждому коду». И всё равно строка, скорее всего, лишняя, так как должна подразумеваться в каждой вакансии [[программист]]а по умолчанию, что-то вроде столь же неимоверно популярного в вакансиях «умения работать в команде», которое на деле означает лишь «не быть мудаком» или «быть податливым мудаком».&lt;br /&gt;
&lt;br /&gt;
Также есть конторы, специализирующиеся на поддержке чужих программ. Обычно востребованы в случаях, когда:&lt;br /&gt;
* за давностью лет авторов нельзя найти, или они отказываются от работы;&lt;br /&gt;
* документация [[Армейский способ|армейски проёбана]], и никто не знает, как оно работает;&lt;br /&gt;
* [[Reverse Engineering|реверс-инжиниринг]] с целью сделать свой аналог [[С блекджеком и шлюхами|с чем положено]].&lt;br /&gt;
Здесь уже сабж действительно один из ключевых навыков. Но это уже, скорее, компетенция программиста-аналитика 80-го уровня, а не школьника-быдлокодера, и написано в [[Матан|таких терминах]], что не сразу узнаешь, что это оно.&lt;br /&gt;
&lt;br /&gt;
== А на самом деле ==&lt;br /&gt;
&lt;br /&gt;
А [[на самом деле]] это базовый навык, без которого нельзя работать программистом. Даже если чужой код был написан твоим коллегой буквально вчера и вы вместе работаете над одним проектом. Кстати, даже если с этим коллегой тесно общаетесь, то вам всё равно придётся разбираться в его коде без него хотя бы потому, что чисто физически тяжело запомнить все правки и то, зачем они были сделаны, особенно если проект большой. Вообще, умение разбираться в чужих наработках свойственно всем профессиям со времён индустриализации общества: новый разработчик твоего кредитного [[Форд Фокус|фокуса]] выкурил много старых чертежей перед тем, как сделать в них свои правки.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Reverse Engineering]]&lt;br /&gt;
* [[Корпоративная культура]]&lt;br /&gt;
* [[История успеха]]&lt;br /&gt;
* [[ЖРАТ]]&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [http://www.phpinfo.su/articles/additionally/o_kommentirovanii_programmnogo_koda.html Что делать, если сотрудник не пишет комментарии к коду].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Языки программирования|Программизм}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Мемы работодателей]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Txxx</name></author>
	</entry>
</feed>