Architecture Decision Record

Active theme: Light

← ನಿರ್ಧಾರ ದಾಖಲೆ ಉದಾಹರಣೆಗಳು

ವಾಸ್ತುಶಿಲ್ಪ ನಿರ್ಧಾರ ದಾಖಲೆ: ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕೋಡ್ ಸಂಪಾದಕಗಳು

ಸಂದರ್ಭ

ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕೋಡ್ ಸಂಪಾದಕಗಳು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಕೋಡ್ ಬರೆಯಲು ಮತ್ತು ಸಂಪಾದಿಸಲು ಅತ್ಯಗತ್ಯವಾದ ಸಾಧನ. ಅನೇಕ ಕೋಡ್ ಸಂಪಾದಕಗಳು ಲಭ್ಯವಿವೆ, ಪ್ರತಿಯೊಂದೂ ತನ್ನದೇ ವೈಶಿಷ್ಟ್ಯಗಳು, ಅನುಕೂಲಗಳು ಮತ್ತು ಅನಾನುಕೂಲಗಳನ್ನು ಹೊಂದಿದೆ. ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕೋಡ್ ಸಂಪಾದಕಗಳಿಗಾಗಿ ಮಾಡಿದ ವಾಸ್ತುಶಿಲ್ಪ ನಿರ್ಧಾರಗಳನ್ನು ದಾಖಲಿಸುವುದು ಈ ADR ನ ಉದ್ದೇಶ.

ಆದ್ಯತೆಗಳು

ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕೋಡ್ ಸಂಪಾದಕಗಳ ವಾಸ್ತುಶಿಲ್ಪವು ಈ ಕೆಳಗಿನವುಗಳಿಗೆ ಆದ್ಯತೆ ನೀಡಬೇಕು:

  • ಮಾಡ್ಯುಲಾರಿಟಿ: ಕೋಡ್ ಸಂಪಾದಕವನ್ನು ಮಾಡ್ಯುಲರ್ ರೀತಿಯಲ್ಲಿ ವಿನ್ಯಾಸಗೊಳಿಸಬೇಕು, ಡೆವಲಪರ್‌ಗಳು ಅಗತ್ಯವಿರುವಂತೆ ಅದನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಲು ಮತ್ತು ವಿಸ್ತರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡಬೇಕು. ಇದು ವಿಭಿನ್ನ ಡೆವಲಪರ್‌ಗಳು ಮತ್ತು ತಂಡಗಳ ಅಗತ್ಯಗಳಿಗೆ ಹೊಂದಿಕೊಳ್ಳಬಲ್ಲ ನಮ್ಯ ವಾಸ್ತುಶಿಲ್ಪಕ್ಕೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ.

  • ಕಾರ್ಯಕ್ಷಮತೆ: ಕೋಡ್ ಸಂಪಾದಕವು ಕಾರ್ಯಕ್ಷಮ ಮತ್ತು ಸ್ಪಂದನಶೀಲವಾಗಿರಬೇಕು, ಡೆವಲಪರ್‌ಗಳು ತಾವು ಬಳಸುವ ಸಾಧನದಿಂದ ನಿಧಾನವಾಗದೆ ದಕ್ಷವಾಗಿ ಕೆಲಸ ಮಾಡಲು ಅನುವು ಮಾಡಿಕೊಡಬೇಕು.

  • ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್: ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಸಹಜ ಮತ್ತು ಬಳಸಲು ಸುಲಭವಾಗಿರಬೇಕು, ಡೆವಲಪರ್‌ಗಳು ಸಂಪಾದಕದೊಂದಿಗೆ ಹೆಣಗಾಡುವ ಬದಲು ತಮ್ಮ ಕೋಡ್ ಮೇಲೆ ಗಮನ ಹರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡಬೇಕು.

  • ವಿಸ್ತರಣಾ ಸಾಮರ್ಥ್ಯ: ಕೋಡ್ ಸಂಪಾದಕವನ್ನು ಮೂರನೇ ಪಕ್ಷದ ಪ್ಲಗಿನ್‌ಗಳು ಮತ್ತು ಏಕೀಕರಣಗಳೊಂದಿಗೆ ಸುಲಭ ವಿಸ್ತರಣೆಗೆ ಅನುವು ಮಾಡಿಕೊಡುವಂತೆ ವಿನ್ಯಾಸಗೊಳಿಸಬೇಕು.

  • ಹೊಂದಾಣಿಕೆ: ಕೋಡ್ ಸಂಪಾದಕವು ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಮತ್ತು ತಂತ್ರಜ್ಞಾನಗಳಿಗೆ ಹೊಂದಾಣಿಕೆಯಾಗಬೇಕು, ಇದರಿಂದ ಅದು ವಿಶಾಲ ಶ್ರೇಣಿಯ ಡೆವಲಪರ್‌ಗಳಿಗೆ ಉಪಯುಕ್ತ ಸಾಧನವಾಗುತ್ತದೆ.

ನಿರ್ಧಾರ

ಈ ಆದ್ಯತೆಗಳ ಆಧಾರದ ಮೇಲೆ, ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕೋಡ್ ಸಂಪಾದಕಗಳ ವಾಸ್ತುಶಿಲ್ಪವನ್ನು ಈ ಕೆಳಗಿನ ಘಟಕಗಳೊಂದಿಗೆ ವಿನ್ಯಾಸಗೊಳಿಸಬೇಕು:

  • ಕೋರ್: ಈ ಘಟಕವು ಸಿಂಟ್ಯಾಕ್ಸ್ ಹೈಲೈಟಿಂಗ್, ಪಠ್ಯ ಸಂಪಾದನೆ ಮತ್ತು ಕಡತ ನಿರ್ವಹಣೆಯಂತಹ ಕೋಡ್ ಸಂಪಾದಕದ ಮೂಲ ಕಾರ್ಯಚಟುವಟಿಕೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ.

  • UI: ಈ ಘಟಕವು ಮೆನುಗಳು, ಟೂಲ್‌ಬಾರ್‌ಗಳು ಮತ್ತು ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳು ಸೇರಿದಂತೆ ಕೋಡ್ ಸಂಪಾದಕಕ್ಕೆ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ.

  • ಪ್ಲಗಿನ್‌ಗಳು: ಈ ಘಟಕವು ಮೂರನೇ ಪಕ್ಷದ ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸುವ ಮೂಲಕ ಕೋಡ್ ಸಂಪಾದಕದ ಕಾರ್ಯಚಟುವಟಿಕೆಯನ್ನು ವಿಸ್ತರಿಸಲು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಪ್ಲಗಿನ್‌ಗಳು ಕೋಡ್ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆ, ಲಿಂಟಿಂಗ್ ಅಥವಾ ಡೀಬಗ್ ಮಾಡುವಿಕೆಯಂತಹ ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಒದಗಿಸಬಹುದು.

  • ಏಕೀಕರಣಗಳು: ಈ ಘಟಕವು ಆವೃತ್ತಿ ನಿಯಂತ್ರಣ ವ್ಯವಸ್ಥೆಗಳು, ಬಿಲ್ಡ್ ವ್ಯವಸ್ಥೆಗಳು ಅಥವಾ ಡೀಬಗ್ ಮಾಡುವ ಸಾಧನಗಳಂತಹ ಇತರ ಸಾಧನಗಳು ಮತ್ತು ತಂತ್ರಜ್ಞಾನಗಳೊಂದಿಗೆ ಏಕೀಕರಿಸಲು ಕೋಡ್ ಸಂಪಾದಕಕ್ಕೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

ತಾರ್ಕಿಕತೆ

ಕೋಡ್ ಸಂಪಾದಕದ ಮಾಡ್ಯುಲಾರಿಟಿಯು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಅಗತ್ಯವಿರುವಂತೆ ಅದನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಲು ಮತ್ತು ವಿಸ್ತರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದು ಮುಖ್ಯ ಏಕೆಂದರೆ ವಿಭಿನ್ನ ಡೆವಲಪರ್‌ಗಳು ಮತ್ತು ತಂಡಗಳಿಗೆ ವಿಭಿನ್ನ ಅಗತ್ಯಗಳು ಮತ್ತು ಕೆಲಸದ ಹರಿವುಗಳಿರುತ್ತವೆ, ಮತ್ತು ನಮ್ಯ ವಾಸ್ತುಶಿಲ್ಪವು ಈ ವ್ಯತ್ಯಾಸಗಳಿಗೆ ಅವಕಾಶ ಕಲ್ಪಿಸಬಲ್ಲದು.

  • ಕಾರ್ಯಕ್ಷಮತೆ: ನಿರ್ಣಾಯಕ ಏಕೆಂದರೆ ಡೆವಲಪರ್‌ಗಳು ತಮ್ಮ ಸಾಧನಗಳಿಂದ ನಿಧಾನವಾಗದೆ ದಕ್ಷವಾಗಿ ಕೆಲಸ ಮಾಡಲು ಸಾಧ್ಯವಾಗಬೇಕು. ಕಾರ್ಯಕ್ಷಮ ಕೋಡ್ ಸಂಪಾದಕವು ಉತ್ಪಾದಕತೆಗೆ ಅತ್ಯಗತ್ಯ ಮತ್ತು ಡೆವಲಪರ್‌ಗಳು ತಮ್ಮ ಗಮನ ಮತ್ತು ಏಕಾಗ್ರತೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳಲು ಸಹಾಯ ಮಾಡಬಹುದು.

  • UI: ಮುಖ್ಯ ಏಕೆಂದರೆ ಇದು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಸಂಪಾದಕದೊಂದಿಗೆ ಹೆಣಗಾಡುವ ಬದಲು ತಮ್ಮ ಕೋಡ್ ಮೇಲೆ ಗಮನ ಹರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದು ಉತ್ತಮ ಉತ್ಪಾದಕತೆ ಮತ್ತು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಕಡಿಮೆ ಹತಾಶೆಗೆ ಕಾರಣವಾಗಬಹುದು.

  • ವಿಸ್ತರಣಾ ಸಾಮರ್ಥ್ಯ: ಶಕ್ತಿಯುತ ಏಕೆಂದರೆ ಇದು ಕೋಡ್ ಸಂಪಾದಕವನ್ನು ವಿಭಿನ್ನ ಅಗತ್ಯಗಳು ಮತ್ತು ಕೆಲಸದ ಹರಿವುಗಳಿಗೆ ಹೊಂದಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಮೂರನೇ ಪಕ್ಷದ ಪ್ಲಗಿನ್‌ಗಳು ಮತ್ತು ಏಕೀಕರಣಗಳು ಕೋರ್ ಸಂಪಾದಕದಲ್ಲಿ ಸೇರದ ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಒದಗಿಸಬಹುದು.

  • ಹೊಂದಾಣಿಕೆ: ಮೌಲ್ಯಯುತ ಏಕೆಂದರೆ ಇದು ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಮತ್ತು ತಂತ್ರಜ್ಞಾನಗಳೊಂದಿಗೆ ಕೋಡ್ ಸಂಪಾದಕವನ್ನು ಬಳಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದು ಸಂಪಾದಕವನ್ನು ವಿಶಾಲ ಶ್ರೇಣಿಯ ಡೆವಲಪರ್‌ಗಳಿಗೆ ಹೆಚ್ಚು ಉಪಯುಕ್ತ ಸಾಧನವಾಗಿಸುತ್ತದೆ.

ಕೋರ್, ಪ್ಲಗಿನ್‌ಗಳು, ಏಕೀಕರಣಗಳು ಮತ್ತು UI ಘಟಕಗಳು ಕಾಳಜಿಗಳ ಸ್ಪಷ್ಟ ಪ್ರತ್ಯೇಕತೆಯನ್ನು ಒದಗಿಸುತ್ತವೆ ಮತ್ತು ಸುಲಭವಾಗಿ ವಿಸ್ತರಿಸಬಹುದಾದ ಹಾಗೂ ಕಸ್ಟಮೈಸ್ ಮಾಡಬಹುದಾದ ಮಾಡ್ಯುಲರ್ ವಾಸ್ತುಶಿಲ್ಪಕ್ಕೆ ಅವಕಾಶ ನೀಡುತ್ತವೆ. ಈ ವಾಸ್ತುಶಿಲ್ಪವು ನಮ್ಯ, ಕಾರ್ಯಕ್ಷಮ ಮತ್ತು ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಮತ್ತು ತಂತ್ರಜ್ಞಾನಗಳಿಗೆ ಹೊಂದಾಣಿಕೆಯಾಗುತ್ತದೆ, ಇದು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಉಪಯುಕ್ತ ಸಾಧನವಾಗಿಸುತ್ತದೆ.