Кажется, этот ответ лежит на поверхности. Есть известное выражение: "работает - не трогай"! Мало кому хочется переписывать какой-то старый софт, хотя все понимают, что это необходимо. Однако это затратно и порой требует приложения больших усилий. Так и в данном случае, переписывать часть учебной программы — это как провести целую реформу. Вопрос о том, на каком языке следует изучать программирование, спорный, и особенно спорно, что JavaScript подходит лучше, чем Pascal.
Сложно написать надёжный код, если ты не знаешь заранее, чего от него ждешь.
Поэтому есть TDD, но это сложно, проще сначала написать какой-код(а потом ещё и прийти к выводу что он не нужен) и только потом покрывать авто тестами.
Если бизнес уволит сотрудников заменив их цифровыми сотрудниками, то бизнес загнётся. Потому что не кому будет покупать услуги бизнеса, так как не на что будет.
Про нехватку ИТшников говорят только барыги курсов. А некоторые компании поддакивают им для того что бы больше было специалистов, для того что бы сбить зарплаты в этой области.
import java.math.BigDecimal
fun main() {
val num1 = BigDecimal("9999999999999999.0")
val num2 = BigDecimal("9999999999999998.0")
val result = num1.subtract(num2)
println(result)
}
Следует в названии статьи уточнять, о ОРМ в реализации какого языка программирования идёт речь. Но судя потому, как оно выглядит на PHP, то да, в этом случае лучше уж на чистом SQL писать.
Тесты служат предохранителем от произвольного изменения кода, своего рода защита от дурака. Если оставлять какой-то код без тестов то в будущем как раз будут снова и снова возникать проблемы, и вот тут и будут выходить переплаты.
Я вообще не понимаю людей которые говорят, что легаси код не нужно покрывать тестами. Представьте себе если там баг в котором не так просто разобраться, да и код, который не понятно как работает. Время на то, что бы разобраться в ручную уйдет куда больше, чем если написать тест под этот код. Вместо того, что бы лазить руками тестить и делать кучу лишних тело движений, автотесты будут запускаться по одному нажатию кнопки. Плюс в будущем не придется снова там ломать руки и ноги потому что будут уже тесты.
Смысл поговорки "скупой платит дважды" как раз в том, что скупой экономит сейчас, и в итоге потом переплачивает, что бы переделывать.
Покрытие кода тестами, даже легаси, это ваша гарантия заказчику, качества и ответственности вашей работы, а все остальное это отговорки. И это гарантия что ваша работа не говно и код не сломается потом, и работодателю не придется переплачивать деньги другому программисту, что бы тот снова копался в этом легаси.
TDD, подходит под легаси. Представьте себе когда вам нужно править кусок готового легаси, вы же не будете его делать без тестов? Если будете это просто означает что вам нравится тратить время больше на ручные тесты, так как ручные тесты больше времени занимают на тестирование.
Когда я понял, что оно образовано от слова «покупать», то это стало выглядеть более нелепо.
Они не могли придумать просто `static {}` вместо `companion object {}`?
Все таки эта штука имеет связь с Java.
Kotlin может компилироваться не только в байткод Java, но еще и в JavaScript ;-)
Получается, если конструктор константный, то это уже Синглтон?
Кажется, этот ответ лежит на поверхности. Есть известное выражение: "работает - не трогай"! Мало кому хочется переписывать какой-то старый софт, хотя все понимают, что это необходимо. Однако это затратно и порой требует приложения больших усилий. Так и в данном случае, переписывать часть учебной программы — это как провести целую реформу. Вопрос о том, на каком языке следует изучать программирование, спорный, и особенно спорно, что JavaScript подходит лучше, чем Pascal.
Сложно написать надёжный код, если ты не знаешь заранее, чего от него ждешь.
Поэтому есть TDD, но это сложно, проще сначала написать какой-код(а потом ещё и прийти к выводу что он не нужен) и только потом покрывать авто тестами.
Если бизнес уволит сотрудников заменив их цифровыми сотрудниками, то бизнес загнётся. Потому что не кому будет покупать услуги бизнеса, так как не на что будет.
Что бы правильно получилось нужно вывод прописать так:
Ruby:
В C# нужно указать в конце чисел суффикс `m`:
Си.
Правильно:
Просто код который приведен в посте, не правильно использует вычисления с большими числами, судя по всему.
Про нехватку ИТшников говорят только барыги курсов.
А некоторые компании поддакивают им для того что бы больше было специалистов, для того что бы сбить зарплаты в этой области.
Kotlin:
Но это в онлайн компиляторе.
А я как раз считаю лучшей серией Героев 4.
В ней лучшее от классики плюс добавили другие интересные вещи. Улучшили 2D графику, можно управлять героями и вообще удобнее управление.
Следует в названии статьи уточнять, о ОРМ в реализации какого языка программирования идёт речь. Но судя потому, как оно выглядит на PHP, то да, в этом случае лучше уж на чистом SQL писать.
Длинные названия методов как processRawDataIntoModel() это хороший код?
Тесты служат предохранителем от произвольного изменения кода, своего рода защита от дурака.
Если оставлять какой-то код без тестов то в будущем как раз будут снова и снова возникать проблемы, и вот тут и будут выходить переплаты.
Я вообще не понимаю людей которые говорят, что легаси код не нужно покрывать тестами.
Представьте себе если там баг в котором не так просто разобраться, да и код, который не понятно как работает. Время на то, что бы разобраться в ручную уйдет куда больше, чем если написать тест под этот код. Вместо того, что бы лазить руками тестить и делать кучу лишних тело движений, автотесты будут запускаться по одному нажатию кнопки.
Плюс в будущем не придется снова там ломать руки и ноги потому что будут уже тесты.
Смысл поговорки "скупой платит дважды" как раз в том, что скупой экономит сейчас, и в итоге потом переплачивает, что бы переделывать.
Покрытие кода тестами, даже легаси, это ваша гарантия заказчику, качества и ответственности вашей работы, а все остальное это отговорки.
И это гарантия что ваша работа не говно и код не сломается потом, и работодателю не придется переплачивать деньги другому программисту, что бы тот снова копался в этом легаси.
TDD, подходит под легаси. Представьте себе когда вам нужно править кусок готового легаси, вы же не будете его делать без тестов? Если будете это просто означает что вам нравится тратить время больше на ручные тесты, так как ручные тесты больше времени занимают на тестирование.