"이 경로로 이 파일,, 을 가져오지 않으려면"을 규칙화합니다.

웹 엔지니어 하이카입니다.
여러분'SOLID 원칙'에 대해서 얼마나 알고 계세요?
소프트웨어 개발에서 유지하기 쉬운 코드를 쓰는 것은 매우 중요한 요소이다.
이번에는 D(Dependency inversion principle)가'의존적 반전의 원칙'에 해당하는 내용이다.
대상 경로를 통해 대상 파일을 가져오는 것을 금지하는 메커니즘을 만들어 보았다.
일본어 기사를 찾지 못했기 때문에 시작하고 싶은 분들은 이 기사를 참고해서 프로젝트를 가져올 수 있나요?
이번 실크 PR은 다음과 같은 내용을 담고 있다.
https://github.com/twin-te/twinte-front/pull/523

설치하다.


의존성 반전의 원칙에 대해서는 다음과 같은 글을 참고하시기 바랍니다.여기에 규칙의 설정 방법을 설명한다.
https://zenn.dev/chida/articles/e46a66cd9d89d1
사용할 프로그램 라이브러리는 eslint-plugin-import입니다.당신들의 관리자에게 감사 드립니다.
npm install --save-dev eslint eslint-plugin-import
npm install --save-dev eslint-import-resolver-typescript # TypeScriptのimport構文を対応させるためのもの
.eslintrc 여기 있습니다.
module.exports = {
  extends: [
    "plugin:import/recommended",
    "plugin:import/typescript",
  ],
  // TypeScriptの場合は以下も追加
  settings: {
    "import/resolver": {
      typescript: {},
    },
  },
}

import/no-restriced-paths 설정


import 플러그인 import/no-restricted-paths 에서 가져올 수 있는 경로를 제한합니다.
"import/no-restricted-paths": [
    "warn", // "error"
    {
        zones: [
            {
                from: "node_modules/vue", // 対象の依存パス
                target: "./src/(usecases|entities|adapter)", // 禁止するパス(正規表現可)
                message: // エラーメッセージ
                    "フレームワーク非依存な層です。hooks層での実装を検討してください。",
            },
            {
                from: "./src/api/@types",
                target: "./src/!(entities)/**/*", // ./src/entities以外のパスでは禁止する
                message: "APIの型定義はアプリケーション内でそのまま利用することはできません。",
            },
        ],
    },
],

최후


나는 가능한 심사 규칙화를 기계적으로 검측하는 사람이 있으면 생산성이 높아질 것이라고 생각한다.
재미있으신 분들은 다른 원칙도 규칙화할 수 있는지 조사해 보세요!
자신과 관련된 시간표 애플리케이션인'트윈:te'는 기부금만으로 운영되는 완전 무료 학생 서비스다.
MIT 라이선스인 OSS가 공개된 만큼 어떻게든 스타가 돼주세요.
https://www.twinte.net/
https://github.com/twin-te/twinte-front

좋은 웹페이지 즐겨찾기