Вести с полей о современном состоянии языка ДРАКОН:
Незаменим.
Вместо обессиливающих когнитивный усилий вычислять код как компилятор, ДРАКОН позволяет насладиться:
1 - визуализацией - поймут все заинтересованные.
2 - визуализацией управляющих состояний машины состояний (Шалыто А.А.) - сложность бизнес-логики упрощена.
3 - из визуализаций генерируется типозащищённый TypeScript (Хейлсберг А.) - вероятность написания кода с ошибками уменьшена, сложность рефакторинга упрощена.
Три математически обоснованных источника и составные части защиты программы от ошибок.
Как решаю вопрос try catch:
оборачиваю его в функцию, функция лежит в файле функций написанных "руками" (без ДРАКОН), хотя можем и в икону ДРАКОН положить код:
Код:
export type Function_Result<T> = |
{
success: true;
data: T
} |
{
success: false;
a1_Errors: string[];
};
export async function googleSheet_Data_Get_Async(
spreadsheetId: string,
range: string
): Promise<Function_Result<SheetData>> {
try {
const auth = new GoogleAuth({
keyFile: 'popov-php-bitrix24-zg.json',
scopes: ['https://www.googleapis.com/auth/spreadsheets']
});
const sheets = google.sheets({
version: 'v4',
auth
});
const response = await sheets.spreadsheets.values.get({
spreadsheetId,
range
});
return {
success: true,
data: response.data.values || []
};
} catch (error) {
return {
success: false,
a1_Errors: [`Google Sheets error: ${error instanceof Error ? error.message : 'Unknown error'}`]
};
}
}
Функция используется в схеме ДРАКОН:

Использовал ДРАКОН в VBA, PHP.
Но когда как понял, что даёт типобезопасность - перехожу на TypeScript.
ДРАКОН направляет нас на этапе проектирования, реализации, рефакторинга, позволяя наслаждаться ясностью понимания кода, а не бороться со сложностями в коде.