āļāļĢāļēāļāļīāļ AI
āļāļģāļĨāļąāļāđāļŦāļĨāļāļāđāļāļĄāļđāļĨ...
āļāļĢāļļāļāļēāļĢāļāļŠāļąāļāļāļĢāļđāđ
āļāļ 18+ āļāļĢāļēāļāļīāļāđāļāđāļāđāļāļāļĩāđ
āļ āļēāļāļāļāļāļ§āļāļāļĢāļāļīāđāļĨāđāļāļāļĢāļāļāļīāļāļŠāđāļāļĩāđāļĄāļĩāļŠāļĩāļāđāļģāđāļāļīāļāđāļĨāļ°āļŠāļĩāļŠāđāļĄāđāļāđāļāļāļŠāļ§āđāļēāļ
āđāļĢāļĩāļĒāļāļĢāļđāđāļāļ§āļēāļĄāļŦāļĄāļēāļĒāđāļĨāļ°āļāļļāļāļŠāļĄāļāļąāļāļīāļāļāļ Array āđāļĨāļ° List āđāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄ āļāļĢāđāļāļĄāļ āļēāļāļāļĢāļ°āļāļāļāđāļāđāļēāđāļāļāđāļēāļĒ āļāļāļīāļāļēāļĒāļāļļāļāđāļāđāļ āļāđāļāļāļ§āļĢāļāļģāđāļāļĩāđāļĒāļ§āļāļąāļāļāļēāļĢāđāļāđ Index āđāļĨāļ°āļāļēāļĢāļāļąāļāđāļāđāļāļāđāļāļĄāļđāļĨāđāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģ āđāļāđāļāļāļ·āđāļāļāļēāļāļŠāļģāļāļąāļāļŠāļģāļŦāļĢāļąāļāļāļąāļāļāļąāļāļāļē.
āļāļģāļāļ§āļēāļĄāđāļāđāļēāđāļāļāļ·āđāļāļāļēāļāļāļēāļĢāļāļąāļāļŠāļīāļāđāļ If-Else āđāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄ āļ āļēāļāļāļāļīāļāļēāļĒāļāļēāļĢāļāļģāļāļēāļāļāļāļāļāļēāļĢāļāļĢāļ§āļāļŠāļāļāđāļāļ·āđāļāļāđāļāļāļĩāđāļāļģāđāļāļŠāļđāđāļāļĨāļĨāļąāļāļāđāļāļĢāļīāļāļŦāļĢāļ·āļāđāļāđāļ āļāļĢāđāļāļĄāļāļąāļ§āļāļĒāđāļēāļāļāļĩāđāđāļāđāļēāđāļāļāđāļēāļĒāđāļĨāļ°āļāđāļāļāļ§āļĢāļāļģāļŠāļģāļāļąāļ āđāļāđāļ āļāļēāļĢāļĄāļĩāļāļēāļāđāļĨāļ·āļāļāđāļŠāļĄāļ āđāļĨāļ°āļāļāđāļāđāđāļāļāļļāļāļ āļēāļĐāļēāđāļāļĢāđāļāļĢāļĄ
āļ āļēāļāļāļĩāđāļāļāļīāļāļēāļĒāļŦāļĨāļąāļāļāļēāļĢāļāļģāļāļēāļāļāļāļāļāļģāļŠāļąāđāļ IF-ELSE āļāļķāđāļāđāļāđāļāļŦāļąāļ§āđāļāļāļāļāļāļēāļĢāļāļīāļāđāļāļīāļāļāļģāļāļ§āļ āđāļŠāļāļāļāļēāļĢāļāļĢāļ°āđāļĄāļīāļāļāđāļēāļāļ§āļēāļĄāļāļĢāļīāļāđāļāļ·āđāļāđāļĨāļ·āļāļāđāļŠāđāļāļāļēāļāļāļēāļĢāļāļģāļāļēāļāļāļĩāđāđāļāļāļāđāļēāļāļāļąāļ āļāļąāđāļāđāļŠāđāļāļāļēāļāļŦāļĨāļąāļāđāļĨāļ°āđāļŠāđāļāļāļēāļāļĢāļāļ āļāļģāļĨāļāļāļāļēāļĢāļāļąāļāļŠāļīāļāđāļāļāļāļāļĄāļāļļāļĐāļĒāđ āđāļĨāļ°āđāļāđāļāļĢāļēāļāļāļēāļāļŠāļģāļāļąāļāļāļāļāļāļąāļĨāļāļāļĢāļīāļāļķāļĄāļāļ§āđāļē 90% āđāļāļāļēāļĢāļŠāļĢāđāļēāļāđāļāļĢāđāļāļĢāļĄāļāļĩāđāļāļąāļāļāđāļāļ
āļ āļēāļāļĢāļ°āļĒāļ°āđāļāļĨāđāđāļŠāļāļāļŦāļāđāļēāļāļāļāļāļĄāļāļīāļ§āđāļāļāļĢāđāļāļĩāđāđāļŠāļāļāđāļāļāļ§āļāļāļĢāļāļīāđāļĨāđāļāļāļĢāļāļāļīāļāļŠāđāļŠāļĩāļāļĩāļāļāļāļŠāļāđāļŠ āđāļāļĒāļĄāļĩāļĨāļēāļĒāļ§āļāļāļĢāļŠāļĩāļŠāđāļĄāđāļĨāļ°āļŠāļĩāđāļāļĩāļĒāļ§āļŠāļ°āļāļļāļāļāļēāļāļāļāļ·āđāļāļŦāļĨāļąāļāļŠāļĩāļāļģ āļĄāļĩāļāļĩāļĒāđāļāļāļĢāđāļāđāļĨāļ°āđāļĄāļēāļŠāđāļ§āļēāļāļāļĒāļđāđāļāļāđāļāđāļ° āļāļģāđāļŦāđāđāļŦāđāļāļāļĢāļĢāļĒāļēāļāļēāļĻāļāļāļāđāļāļāđāļāđāļĨāļĒāļĩāđāļĨāļ°āļāļ§āļąāļāļāļĢāļĢāļĄ
āđāļĢāļĩāļĒāļāļĢāļđāđāļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļąāļāļāļēāļĢ Code Smell āđāļĨāļ° Refactoring āđāļāļ·āđāļāļāļĢāļąāļāļāļĢāļļāļāļāļļāļāļ āļēāļāđāļāđāļ 4 āļāļąāđāļāļāļāļ: āļĢāļ°āļāļļāļāļąāļāļŦāļē, āļ§āļēāļāđāļāļ, āđāļāđāđāļ āđāļĨāļ°āļāļāļŠāļāļ āļāđāļ§āļĒāđāļāļīāđāļĄāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļĢāļāđāļēāļ āļĨāļāļŦāļāļĩāđāļāļēāļāđāļāļāļāļīāļ āđāļĨāļ°āļĨāļāļāđāļāļāļīāļāļāļĨāļēāļāđāļāđāļāļĢāļāļāļēāļĢāđāļāđāļāļķāļ 40%.
āđāļĢāļĩāļĒāļāļĢāļđāđāļāļĢāļ°āđāļĒāļāļāđāļāļāļāļāļēāļĢāļāļģ Refactoring āļāļĩāđāļāđāļ§āļĒāđāļāļĨāļĩāđāļĒāļāđāļāđāļāļāļĩāđāļāļąāļāļāđāļāļ āđāļāđāļĄāđāļāļāđāļ§āļĒāļāļąāđāļ āđāļŦāđāđāļāđāļāđāļāđāļāļāļĩāđāļŠāļ°āļāļēāļ āļāļģāļĢāļļāļāļĢāļąāļāļĐāļēāļāđāļēāļĒ āļāļĒāļēāļĒāđāļāđ āđāļĨāļ°āđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļāļāļēāļĢāļāļģāļāļēāļāļāļāļāļāļĩāļĄāđāļāđāļāļķāļ 50% āļāļĢāđāļāļĄāļāđāļāļāļ§āļĢāļāļģāđāļĨāļ°āđāļĄāđāļāļ§āļĢāļāļģāđāļāļ·āđāļāļĨāļ Technical Debt.
āļāļģāļāļ§āļēāļĄāđāļāđāļēāđāļāļāļēāļĢāđāđāļĢāļĒāđāļŦāļĨāļēāļĒāļĄāļīāļāļī (Multidimensional Array) āļāļēāļĢāđāđāļĢāļĒāđāļāļĩāđāđāļāđāļāļāļēāļĢāđāđāļĢāļĒāđāļāļ·āđāļāđāļ§āđāļāđāļēāļāđāļ āđāļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļāļāļąāļāđāļāđāļāļāđāļāļĄāļđāļĨāđāļāļĢāļđāļāđāļāļāļāļēāļĢāļēāļ āđāļāļĄāļāļĢāļ°āļāļēāļ āļŠāļāļīāļāļī āđāļĨāļ°āđāļāđāļāđāļāļĒāđāļāļāļĢāļēāļāļīāļ 3D āđāļĨāļ°āļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļ āļēāļ āļĢāļ°āļ§āļąāļāļāļĒāđāļēāļāļģāđāļŦāđāļāļąāļāļāđāļāļāđāļāļīāļāļāļģāđāļāđāļ
āļ āļēāļāļāļēāļĢāđāļāļđāļāđāļāļĢāđāļāļĢāļĄāđāļĄāļāļĢāđāļŠāļēāļ§āļŠāļ§āļĄāļŦāļđāļāļąāļ āļāļąāđāļāļāļĒāļđāđāļŦāļāđāļēāđāļāđāļ°āļāļģāļāļēāļāļāļĩāđāļĄāļĩāđāļĨāđāļāļāđāļāļāđāļĨāļ°āļāļāļāļāļĄāļāļīāļ§āđāļāļāļĢāđ āđāļŠāļāļāđāļāđāļāđāļāļĢāđāļāļĢāļĄ āļĄāļĩāđāļāđāļ§āļāļēāđāļāđāļĨāļ°āļāđāļāđāļĄāđāļāļĢāļ°āļāļąāļāđāļāđāļ° āļāļĢāļĢāļĒāļēāļāļēāļĻāļāļēāļĢāļāļģāļāļēāļāļāļĩāđāļāđāļēāļāļŦāļĢāļ·āļāļāļāļāļāļīāļĻ
āđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļ Array āđāļĨāļ° List āđāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨ Array āļĄāļĩāļāļāļēāļāļāļāļāļĩāđ āļŠāđāļ§āļ List āļāļĢāļąāļāđāļāļĨāļĩāđāļĒāļāļāļāļēāļāđāļāđāļāļēāļĄāļāđāļāļĄāļđāļĨ āļĄāļĩāļāļ§āļēāļĄāļĒāļ·āļāļŦāļĒāļļāđāļāļŠāļđāļāļāļ§āđāļē. āđāļĄāđāļāļąāđāļāļāļđāđāļāļ°āđāļāđāļēāļāļķāļāļāđāļāļĄāļđāļĨāđāļāđāļĢāļ§āļāđāļĢāđāļ§ O(1) āđāļāđ Array āđāļŠāļĩāđāļĒāļāļāļ·āđāļāļāļĩāđāđāļĄāđāļāļāļŦāļēāļāļāđāļāļĄāļđāļĨāđāļāļīāļāļāļāļēāļāļāļĩāđāļāļģāļŦāļāļ.
āļ āļēāļāļāļĩāđāļāļāļīāļāļēāļĒ Code Smell 4 āļāļĢāļ°āđāļ āļāļāļĩāđāļāļāļāđāļāļĒāđāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄ āđāļāđāđāļāđ God Class, Feature Envy, Shotgun Surgery āđāļĨāļ° Data Clumps āļāļĢāđāļāļĄāļāļģāļāļīāļĒāļēāļĄ āļāļļāļāļŠāļąāļāđāļāļ āđāļĨāļ°āļāļ§āļēāļĄāđāļŠāļĩāđāļĒāļāļŦāļĢāļ·āļāđāļāļ§āļāļēāļāđāļāđāđāļ āđāļāļ·āđāļāļāđāļ§āļĒāđāļŦāđāļāļąāļāļāļąāļāļāļēāļŠāļēāļĄāļēāļĢāļāļĢāļ°āļāļļāđāļĨāļ°āļāļĢāļąāļāļāļĢāļļāļāđāļāđāļāđāļāđāļāļĒāđāļēāļāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ
āđāļĢāļĩāļĒāļāļĢāļđāđāļāļ§āļēāļĄāļŠāļģāļāļąāļāļāļāļāļāļąāļ§āđāļāļĢāđāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄ āļāļąāđāļāļāļēāļĢāļāļģāļāđāļāļĄāļđāļĨāļāļĨāļąāļāļĄāļēāđāļāđāļāđāļģ, āļāļ§āļēāļĄāļĒāļ·āļāļŦāļĒāļļāđāļāļāļāļāđāļāđāļ, āļāļēāļĢāļāļģāļāļ§āļāđāļāļāđāļāļāļēāļĄāļīāļ āđāļĨāļ°āļāļēāļĢāļŠāļ·āđāļāļŠāļēāļĢāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļāļĩāđāļāļĩ āļāļģāđāļŦāđāđāļāļĢāđāļāļĢāļĄāļāļģāļāļēāļāđāļāđāļŦāļĨāļēāļāļŦāļĨāļēāļĒāđāļĨāļ°āļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļĄāļēāļāļāļķāđāļ
āļŦāđāļāļāļāļģāļāļēāļāļāļĩāđāļĄāļĩāļāļāļĄāļāļīāļ§āđāļāļāļĢāđāļŦāļĨāļēāļĒāļāļāđāļŠāļāļāļāļĨāļāđāļ§āļĒāđāļāđāļāļŠāļĩāđāļāļĩāļĒāļ§āđāļĨāļ°āļāļīāļāđāļāļāļĢāđāđāļāļāļāļīāļāļīāļāļąāļĨāļāļĩāđāļāļąāļāļāđāļāļ āļāļĢāđāļāļĄāļāļļāļāļāļĢāļāđāļāļĩāđāđāļāļ·āđāļāļĄāļāđāļāļāđāļ§āļĒāļŠāļēāļĒāđāļāđāļāļīāļĨāļŠāļĩāđāļāļāļŠāļ āđāļŠāļāļāļāļķāļāļŠāļ āļēāļāđāļ§āļāļĨāđāļāļĄāļāļēāļĢāļāļģāļāļēāļāļāļāļāđāļāļāđāļāđāļĨāļĒāļĩāļāļąāđāļāļŠāļđāļ
āļ āļēāļāļāļāļīāļāļēāļĒāļāļēāļĢāļŠāļĢāđāļēāļ āļāđāļēāļ āđāļāđāđāļ āđāļĨāļ°āļĨāļāļāđāļāļĄāļđāļĨāđāļ Array āđāļĨāļ° List āļāļĢāđāļāļĄāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļēāļĢāđāļāļĢāļāļāđāļāļĄāļđāļĨāđāļāđāļāļĢāļāļŠāļĢāđāļēāļāļāđāļāļĄāļđāļĨāđāļāđāļĨāļ°āļāļāļīāļ
āđāļāđāļēāđāļāļāļąāļ§āđāļāļĢāđāļāļ āļēāļĐāļēāđāļāļĢāđāļāļĢāļĄ: āļāļąāđāļāđāļāđāļāļīāļĒāļēāļĄ āļāļ·āđāļāļāļĩāđāļāļąāļāđāļāđāļāļāđāļāļĄāļđāļĨāđāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģ āļāļēāļĢāļāļĢāļ°āļāļēāļĻāđāļĨāļ°āļāļēāļĢāļāļģāļŦāļāļāļāđāļē āđāļāļāļāļāļķāļāļāļĢāļ°āđāļ āļāļāđāļāļĄāļđāļĨāļāļ·āđāļāļāļēāļāļāļĒāđāļēāļāļāļģāļāļ§āļāđāļāđāļĄ āļāļĻāļāļīāļĒāļĄ āđāļĨāļ°āļāđāļāļāļ§āļēāļĄ āļāļķāđāļāđāļāđāļāļŠāđāļ§āļāļŠāļģāļāļąāļāļāļĩāđāđāļĄāđāļāļ§āļĢāļĄāļāļāļāđāļēāļĄāđāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāđāļ
āļ āļēāļāļāļāļīāļāļēāļĒāļāļąāđāļāļāļāļāļŠāļģāļāļąāļāđāļāļ§āļāļāļĢāļāļĩāļ§āļīāļāļāļāļāļāļąāļ§āđāļāļĢ āļāļąāđāļāđāļāđāļāļēāļĢāļŠāļĢāđāļēāļāđāļĨāļ°āļāļāļāļāļ·āđāļāļāļĩāđ āļāļēāļĢāļāļģāļŦāļāļāļāđāļē āļāļēāļĢāđāļāđāļāļēāļāļŦāļĢāļ·āļāđāļāđāđāļ āđāļāļāļāļāļķāļāļāļēāļĢāļāļģāļĨāļēāļĒāđāļĨāļ°āļāļ·āļāļāļ·āđāļāļāļĩāđāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģ āđāļāļ·āđāļāđāļŠāļāļāļāļķāļāļāļēāļĢāļāļąāļāļāļēāļĢāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļāļĒāđāļēāļāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļāļāļēāļĢāļāļąāļāļāļēāļāļāļāļāđāđāļ§āļĢāđ