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

Конвертеры кода

JavaScript в COBOL

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

Что у вас есть · JavaScript

export function interest(balance, rate) {
  return Math.round(balance * rate * 100) / 100
}

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

       IDENTIFICATION DIVISION.
       PROGRAM-ID. INTEREST.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  WS-BALANCE     PIC S9(9)V99 COMP-3 VALUE 0.
       01  WS-RATE        PIC S9(1)V9(4) COMP-3 VALUE 0.0425.
       01  WS-INTEREST    PIC S9(9)V99 COMP-3.
       PROCEDURE DIVISION.
           COMPUTE WS-INTEREST ROUNDED = WS-BALANCE * WS-RATE
           DISPLAY 'INTEREST: ' WS-INTEREST
           STOP RUN.
Одна процедура: остаток умножить на ставку, округлить до копейки. На обоих языках её писал человек, инструмент тут ни при чём. Ваш файл длиннее, и в нём происходит больше, в этом и дело.
Прочитать два файла рядом легко. Трудное начинается дальше, в остальной системе: какие файлы уже никто не вызывает, какое задание пишет в 02:00 запись, которую потом читает другое, и выдаёт ли переписанная версия те же числа, которые ваши аудиторы видели в прошлом месяце. Эта работа идёт на нашей платформе под присмотром инженера и начинается с того, что мы смотрим вашу кодовую базу.

Когда конвертера перестаёт хватать

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