1. JavaScript / Говнокод #26504

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    interface TemplateReducerInterface {
        getConfigParameters(): Promise<ConfigParametersResult>
        getConfig(): Record<string, any>
        setConfig(config: Record<string, any>): void
        getDirectoriesForRemove(): Promise<string[]>
        getFilesForRemove(): Promise<string[]>
        getDependenciesForRemove(): Promise<string[]>
        getFilesContentReplacers(): Promise<ReplaceFileContentItem[]>
        finish(): Promise<void>
        getTestConfigSet(): Promise<Record<string, any>[]>
    }

    Какой «TypeScript» )))

    https://habr.com/ru/post/487648/

    Запостил: gost, 14 Марта 2020

    Комментарии (63) RSS

    • Не многовато ли обещаний?
      Ответить
    • >Какой «TypeScript» )))
      Какая Java )))
      Ответить
      • Нет, ну реально. Из нормальной скриптухи сделали упоротую ворецию на тему Java/C#

        Вот эти import, private, interface

        При том скорость исполнения недожавна как у скриптухи.
        >new TwingEnvironment(new TwingLoaderFilesystem('src')
        import CreateExpress, { Express } from 'express';
        import { TwingEnvironment, TwingLoaderFilesystem } from 'twing';
        import { Container } from '@karcass/container';
        import { Cli } from '@karcass/cli';
        import { Connection, createConnection } from 'typeorm';
        import { CreateMigrationCommand, MigrateCommand, MigrateUndoCommand } from '@karcass/migration-commands';
        import { createLogger } from './routines/createLogger';
        import { Logger } from 'winston';
        import { FrontPageController } from './SampleBundle/Controller/FrontPageController';
        import { Message } from './SampleBundle/Entity/Message';
        import { MessagesService } from './SampleBundle/Service/MessagesService';
        
        export class Application {
            private container = new Container();
            private console = new Cli();
            private controllers: object[] = [];
            private http!: Express;
        
            public constructor(public readonly config: IConfig) { }
        
            public async run() {
                await this.initializeServices();
        
                if (process.argv[2]) {
                    this.initializeCommands();
                    await this.console.run();
                } else {
                    this.runWebServer();
                }
            }
        
            protected runWebServer() {
                this.http = CreateExpress();
                this.http.use('/public', CreateExpress.static('public'));
                this.http.use(CreateExpress.urlencoded());
                this.http.listen(this.config.listen, () => console.log(`Listening on port ${this.config.listen}`));
        
                this.container.add<Express>('express', () => this.http);
                this.container.add(TwingEnvironment, () => new TwingEnvironment(new TwingLoaderFilesystem('src')));
        
                this.initializeControllers();
            }
        Ответить
        • > new TwingEnvironment

          ёбааанарот. это ж порт пхпшного Twig, который адаптация питоновского Jinja, который последователь Liquid от Shopify (может, конечно, они в другом порядке переебались, но мне в принципе плевать)
          Ответить
        • присмотрелся

          if (process.argv[2]) {
              this.initializeCommands();
              await this.console.run();
          } else {
              this.runWebServer();
          }


          какая конвенция вместо конфигурации ))))
          Ответить
          • так там небось какой-нить --bu --ra --runconsole ?

            а шо, нормальново getopt не завезли?
            Ответить
        • Если мы [не я] пишем бэк на C#/Java, тогда давайте и фронт на нем писать. Вот и получили из JavaScript нечто больше похожее на C#/Java под названием TypeScript
          Ответить
    • Говнокод деформировал моё восприятие:

      Листая показалось:
      >Похожие питушни

      > 13 апреля 2019 в 13:52 Сверхпростое логгирование в Javascript — два декоратора, и говно
      Ответить
      • Я так же сначала прочитал. Ещё удивился, откуда на Х-ре такие слова.
        Ответить
    • Попытки облагородить жопаскрипт тайпскриптом заставляют меня вспомнить цитату Леца

      Он напоминал мне вошь на лысине: кругом всё блестит, а всё равно вошь
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий