К содержимому

Перевод кода, пара за парой

C# в JavaScript

Одна и та же процедура, написанная руками на C# и на JavaScript. Она здесь, чтобы вы увидели, что меняется, а что остаётся, до того как кто-то назовёт вам цену.

Было · C#

public static decimal Interest(decimal balance, decimal rate)
    => Math.Round(balance * rate, 2, MidpointRounding.AwayFromZero);

Во что это превращается · JavaScript

export function interest(balance, rate) {
  return Math.round(balance * rate * 100) / 100
}
Одна процедура: остаток умножить на ставку, округлить до копейки. На обоих языках её писал инженер, чтобы вы прочитали, как целевой код выглядит на самом деле.
Ниже одна процедура на двух языках. На настоящей системе тот же переезд идёт сразу по всему дереву: платформа читает все языки в нём параллельно, строит граф зависимостей, а границы режет инженер. Миллион строк это обычный размер такой работы, и она укладывается в тридцать дней.

Как это выглядит на всей вашей системе

На вашей настоящей кодовой базе тот же переезд отвечает на вопросы, которых пара файлов не покрывает: какие файлы уже никто не вызывает, какое батч-задание пишет в 02:00 запись, которую потом читает другое, и выдаёт ли переписанная версия те же числа, что ваши аудиторы видели в прошлом месяце. Аудит возвращает все три ответа за три-пять дней.