Swift Style Guide

ΠžΠ±Ρ‰Π΅Π΅

  • KISS(Keep it simple and stupid)

    • Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ нСбольшиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ Π½ΠΈΡ… ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚.

    • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

    • Π”Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅ΠΌ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

      if (a > b || (c != d)) && (d < k && a < k) {
          print("Good job!")
      }
      // ЗамСняСм Π½Π° 
      let jobIsGood = a > b || (c != d)`
      let jobIsDone = (d < k && a < k)
      if jobIsGood && jobIsDone {
          print("Good job!")
      }
  • ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

    • Если ΠΊΠΎΠ΄Ρƒ Π½ΡƒΠΆΠ½Ρ‹ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, стоит ΠΏΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ структуру, стараСмся ΠΏΠΈΡΠ°Ρ‚ΡŒ самодокумСнтируСмый ΠΊΠΎΠ΄, Π½ΠΎ Π΅ΡΡ‚ΡŒ ряд случаСм, Π³Π΄Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅.

  • ИзбСгаСм magic numbers, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π‘onstants вмСсто этого.

    Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ: вСрстка UI Π² ΠΊΠΎΠ΄Π΅ ΠΈ настройка свойств Ρƒ UIKit ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Π΄Π°Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π°, ΡˆΡ€ΠΈΡ„Ρ‚Π°.

  • DRY(do not repeat yourself)

    • ИзбСгаСм Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Ссли ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ большС, Ρ‡Π΅ΠΌ Π² 1-ΠΎΠΌ мСстС, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅Π³ΠΎ стоит вынСсти Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

  • Unused code

    • ВсСгда удаляСм Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ пустыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ import'Ρ‹.

  • УмСньшаСм Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ if, вынСсСниС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

  • Π‘Ρ‚Ρ€ΠΎΠΊΠΈ выносим Π² Localized strings, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ большС 1-ΠΎΠ³ΠΎ Ρ€Π°Π·Π°.

  • Π―ΡΠ½ΠΎΡΡ‚ΡŒ Π²Π°ΠΆΠ½Π΅Π΅ краткости. ВыдСляСм врСмя для написаниС ΠΊΠΎΠ΄Π°, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ для чтСния. Код читаСтся Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ.

БоглашСниС ΠΎ стилС ΠΊΠΎΠ΄Π°

https://swift.org/documentation/api-design-guidelines/

https://github.com/raywenderlich/swift-style-guide

Last updated

Was this helpful?