Skip to content

Latest commit

 

History

History
31 lines (19 loc) · 5.21 KB

2016-08-23-miscellanea-i.markdown

File metadata and controls

31 lines (19 loc) · 5.21 KB
layout title date categories
post
Miscellanea I
2016-08-23 22:01:01 +0300
miscellanea

Бизнес, построенный на чужом API, очень хрупкий. Мало того, что даже топовые корпорации не всегда озабочены сохранением совместимости, так иногда просто гасят то, что считают негодным. Примером тому Facebook Public Post search API, после отмены коего не один сайт схлопнулся. Также интересное получается тогда, когда «модераторы» на стороне API решают, что приложение не норм: Instagram передаёт привет общественности. В общем, суровый и злобный бизнес, в котором никто никому ничего не должен.


Чтение всякого — хорошая прививка от «так не делают» и «так не бывает». Считаю, у разработчика такие фразы равны «не могу знать», старательно выбиваемому Суворовым. В разработке всё можно, если под этим всем есть хорошее обоснование. Помни, что до тебя по этому лесу уже ходили миллионы. Шишки набиты, собраны, сварены. Не использовать чужой опыт глупо. Не видеть и не учитывать чужой опыт потому, что построил в голове карцер и спрятался в нём — глупо вдвойне.


Одна из поучительных историй, за которой стоит приглядывать — отношение к goto statement. Эдакий маркер бездумного следования за, если разработчик остервенело кидается. Если подумать, то…

Во-первых, Dijkstra (все же читали эссе, с которого началось, правда?) допускалиспользование goto в машинных кодах [читай «на низком уровне»]: «the go to statement should be abolished from all «higher level» programming languages (i.e. everything except — perhaps — plain machine code)».

Во-вторых, народ проголосовал практикой против теоретиков. В C-коде по сию пору goto используется вполне активно, достаточно грепнутьLinux kernel.

В-третьих, массовый контраргумент goto в том, чтобы не делать код лапшой. Это… кхм. Как дела с break и return, например? Ах, они называются иначе. Ну так поинтересуйтесь, в какие инструкции зачастую компилируются такие вот выходы.

Не первый раз упоминаю goto, но что поделать, если исторически ему не повезло. Короче, как обычно — полезно сначала думать, а потом идти.


Переквалификация — довольно странная штука. Кажется, после определённого «возраста» (тут серая зона смысла) достигается точка, в которой ты уже определился с тем, что тебе нравится, а что не нравится. И если к текущему моменту у тебя «специализация» (не менее серая), допустим, админ, вероятно, ты хотел быть админом и ты хочешь быть админом, а не фронтендером или бекендером или дизайнером. И наоборот, если ты бекендер, то становиться админом как-то не горишь. На обочине этого абзаца люди, которые за жизнь меняют множество профессий и гарцуют с кочки на кочку. Их я не понимаю, да и не очень хочу.


Полезно смотреть на свой код с точки зрения другого языка. Особенно полезно смотреть так на архитектуру. Если при гипотетической миграции с языка X на язык Y архитектура меняется, что-то не так. Если ваш код можно написать на другом языке лучше, правильнее, оптимальнее (с какой-нибудь позиции), тоже повод подумать.