Всем привет. Открыл документацию к hapi.js и увидел такой пример кода:
const Hapi = require('hapi');
const server = Hapi.server({});
async function start() {
try {
await server.start();
}
catch (err) {
console.log(err);
}
};
start();
В универе я писал на С, и меня учили, что:
1) В функциях не должно быть глобальных переменных
2) Каждая функция должна быть написана так, чтобы её можно было скопировать в другой проект без изменений
В данном же примере кода всё это нарушается, ибо:
1) В функции start используется глобальная (для этой функции) переменная server
2) Если я перенесу функцию start в другой файл, то мне придётся ещё дописывать часть кода
3) Если вдруг я в другом проекте сделаю
const app = Hapi.server({})
, то функция start опять не сработает
Чего я не понимаю? Как мне понять, какие подходы более правильные?