Обновить
24
0
Голованов Владимир@Colwin

Senior Java Developer

Отправить сообщение
Молчание — …
P.S. Это для защиты от взлома при доступности двоичного кода.
На самом деле можно существенно усложнить взлом, используя только скремблирование.
В том числе подменять алгоритм в случае, если по вторичным признакам мы обнаруживаем, что нас отлаживают. В этом случае взломщику придется копать, почему в отладчике все путем, а без него все падает. В итоге для взлома требуется более высокая квалификация, следовательно, вероятность падает.
Зато очень легко взламывается ) для защиты об блокировки провайдерами слабовато будет )
Выбор между целочисленным типом и типом с плавающей точки зависит от природы данных, и никогда не делается «с потолка». По-крайней мере профессионалом.
А вот выбор между float и double… float имеет смысл использовать только в том случае, если имеется большой объем данных, которые влезают в этот тип, причем их нужно только передавать, без проведения каких-либо вычислительных операций. Если же есть арифметика — однозначно double, т.к. большинство стандартных функций все равно преобразует в double.
Иногда нужно уметь оперировать абстракциями без примеров. Потому как составление адекватных примеров часто является в несколько раз более сложной задачей, чем реализация решения.
Писать код с использованием имеющихся средств — это совсем не то же самое, что разрабатывать библиотеку «с нуля». Требуется другой уровень мышления, на пару порядков продвинутей, т.к. нужно учесть все возможные частные случаи и каким-то более-менее адекватным образом на них реагировать.
Так что обучение при написании подобных решений происходит в несколько раз быстрее, чем при написании обычного application-кода.
Насчет очевидности. Конечно, для профессионального разработчика с нормальной подготовкой это очевидно. Однако, очень часто встречаются менее квалифицированные разработчики, поэтому подобные обзоры открывают им глаза на то, как проектировать нормальные системы. И, опять же, полезно для начинающих программистов.
Минусующие!
Просьба, оставляйте коммент, поясняющий причину минусов по тематическому посту.
Я всегда за аргументированные помидоры в мой адрес, но молчаливое сливание, имхо — это просто некрасиво с вашей стороны.
При бесконечном времени вероятность нулевая ) учите матчасть.
Нарисуйте ему примерную схему работы, но без технических терминов, поищите более понятные аналогии :-)
Писать код правильно — это всегда сокращение затрат.
Как минимум на тестирование и поддержку.

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

В дальнейшем (после выкладывания очередного релиза) этот код обязательно переписывается по-человечески.
Вот и не надо было писать, а то засоряете общественные места, понимаешь.
Не знал, что есть ангельский язык )
Если пользоваться английским алфавитом, то лучше писать английские слова.
Я для русского алфавита лучше русские слова.
А то от сегодняшних «супермаркетов» уже тошнит :-)
У меня, например, было довольно просто.
  1. Мне нравится писать код.
  2. Мне нравится писать код хорошо.
  3. Если я вижу плохой код, у меня есть желание его переписать.
  4. Если код можно сделать лучше — я делаю его лучше.


Но в работе приоритеты несколько иные:
  1. Делается только то, что нужно заказчикам (внешним или внутренним).
  2. Задачи (как правило) ставятся внешним образом.
  3. Поменять формулировку задачи (а иногда и отменить задачу) можно только в том случае, если сумеешь найти этому объективные причины.
  4. Время, выделяемое для выполнения задач, для разработчиков стремится к минимуму.
  5. На остальные задачи (например, поддержание качества кода) всегда нет времени.


Как можно выйти из этой ситуации?

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

В итоге:
  • У меня есть личная удовлетверенность от проделанной работой, плюс ощущения собственных возможностей и умений.
  • Начальники/заказчики получают выполнение своих задач в поставленные сроки.
  • Качества проекта в целом улучшается или как минимум не ухудшается, что позволит проекту прожить как можно дольше без переписывания «с нуля».

в стандарте в качестве дефолтного рекомендуется использоВАть Read Committed


Отличная статья.
Особенно радует наличие ссылок на источники предварительных знаний, чтобы быть в курсе, читая основную статью.
Единственная проблема — ни в одной книге никто не выносил «тонкостей» в отдельное место, они всегда размазаны по книге. В итоге их довольно сложно искать.
Т.е. ваш примерный возраст уже известен )

Информация

В рейтинге
Не участвует
Откуда
Новосибирск, Новосибирская обл., Россия
Дата рождения
Зарегистрирован
Активность