Ябло (Свежее) / Говнокод #24322 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
static func == (lhs: Card, rhs: Card) -> Bool {
       return (lhs.color == rhs.color &&
        lhs.number == rhs.number &&
        lhs.shading == rhs.shading &&
        lhs.symbol == rhs.symbol) ||
        (lhs.color == rhs.color &&
        lhs.number != rhs.number &&
        lhs.shading != rhs.shading &&
        lhs.symbol != rhs.symbol) ||
        (lhs.color != rhs.color &&
        lhs.number == rhs.number &&
        lhs.shading != rhs.shading &&
        lhs.symbol != rhs.symbol) ||
        (lhs.color != rhs.color &&
        lhs.number != rhs.number &&
        lhs.shading == rhs.shading &&
        lhs.symbol != rhs.symbol) ||
        (lhs.color != rhs.color &&
        lhs.number != rhs.number &&
        lhs.shading != rhs.shading &&
        lhs.symbol == rhs.symbol) ||
        (lhs.color != rhs.color &&
        lhs.number != rhs.number &&
        lhs.shading != rhs.shading &&
        lhs.symbol != rhs.symbol)
    }

Пытаюсь реализовать правила игры в Set протоколом Equatable. Говнокод?

govnokoder3948 govnokoder3948, (Updated )

Комментарии (11, +11)

Ябло (Свежее) / Говнокод #24070 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
if gameResults != nil && (gameResults?.count)! > 0 {
            
            for gameResult in self.gameResults! {
                let newLine = "\(gameResult.gameSession!.gameTable!.tableNumber!) / \(gameResult.sessionHand!.endTime!) / \(Utils.getShortGameName(gameName: gameResult.gameSession!.game!.name!)),\(String(describing:gameResult.sessionHandResult!.score!.doubleValue)),\(String(describing:gameResult.sessionHandResult!.profitSum!.doubleValue)),\(String(describing:gameResult.sessionHandResult!.credits!.doubleValue))\n"
                csvText.append(newLine)
            }
        }

Как говорится береженого бог бережет... даже если опционал не ниловый

astmus astmus, (Updated )

Комментарии (2, +2)

Ябло (Свежее) / Говнокод #23907 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
protocol Multi {
    associatedtype T
    associatedtype U

    func printSelf()
}

extension Multi where T == Int, U == Float {
    func printSelf() {
        print("Int & Float!")
    }
}

extension Multi where T == String, U == Int {
    func printSelf() {
        print("String & Int!")
    }
}

extension Multi {
    func printSelf() {
        print("Unknown")
    }
}

class MultiImplementationIntFloat: Multi {
    typealias T = Int
    typealias U = Float
}

class MultiImplementationStringInt: Multi {
    typealias T = String
    typealias U = Int
}

class MultiImplementationInvalid: Multi {
    typealias T = Float
    typealias U = String
}

let m1 = MultiImplementationIntFloat()
m1.printSelf()

let m2 = MultiImplementationStringInt()
m2.printSelf()

let m3 = MultiImplementationInvalid()
m3.printSelf()

Multimethods в Swift с проверкой в compile-time

Desktop Desktop, (Updated )

Комментарии (47, +47)

Ябло (Свежее) / Говнокод #23691 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
public class DialogBuilder: NSObject {

    private var style: UIAlertControllerStyle
    private var titleColor: UIColor?

    /**
     * initial DialogBuilder with UIAlertControllerStyle and  for title color
     */
    public init(style: UIAlertControllerStyle = .alert, titlecolor : UIColor?) {
        self.style = style
        if(titlecolor != nil)
        {self.titleColor = titlecolor}
    }
    /**
     * initial DialogBuilder with UIAlertControllerStyle
     */
    public init(style: UIAlertControllerStyle = .alert) {
        self.style = style
    }

    ...
}

wwweshka wwweshka, (Updated )

Комментарии (6, +6)

Ябло (Свежее) / Говнокод #23687 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
func stateDidChange(contorl: TitledTextField?, isEpmtyState: Bool) {
    
    let  userCodeisEpmtyState = (contorl == userCodeTextView) ? isEpmtyState : (userCodeTextView.textValue().isEmpty)
    let  authCodeisEpmtyState = (contorl == authCodeTextView) ? isEpmtyState : (authCodeTextView.textValue().isEmpty)
    changeEnterAvailabilityAccoardingToTextFieldsOccupancy (userCodeisEpmtyState, authCodeisEpmtyState)
}
/*
 * Метод устанавливает активность кнопки энтер взависимости от заполнения текстовых полей
 */
private func changeEnterAvailabilityAccoardingToTextFieldsOccupancy(_ userCodeisEpmtyState: Bool, _ authCodeisEpmtyState: Bool) {
    enter.isEnabled = !userCodeisEpmtyState && !authCodeisEpmtyState
}

Кто-то очень спешил выпустить версию, что пустота стала чем-то непонятным.
Да и вообще знание языков у человека на высшем уровне, вы ничего не понимаете!
А пробелов у меня ограниченное количество, буду их тыкать вдвойне после let, зато не буду их ставить после метода и всё будет ОК.

wwweshka wwweshka, (Updated )

Комментарии (26, +26)

Ябло (Свежее) / Говнокод #23686 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
func onlyCashLessEUR(_ rates : [CurrencyRateMto]) ->  CurrencyRateItem {
    var EUR : CurrencyRateItem? = nil
    let cashLessEUR = rates.filter({$0.type.enumValue == CurrencyRateTypeMtoEnum.CASHLESS && $0.currency.isEUR() == true})
    if(cashLessEUR.count > 0){
        EUR = CurrencyRateItem(
            cashLessEUR.first?.currency.getIcon(),
            (cashLessEUR.first?.currency.id)!,
            NumberFormatting.sum(cashLessEUR.first?.buyPrice?.price),
            NumberFormatting.sum(cashLessEUR.first?.sellPrice?.price))
    }
    if(EUR == nil){
        EUR = CurrencyRateItem(
            UIImage.init(named: "currency_eur"),
            "EUR",
            "-",
            "-")
    }
    return EUR!
}

"Я форматирую как далбаёб, и мне похер на то, что cashLessEUR.first опционален, я буду его юзать дальше".

wwweshka wwweshka, (Updated )

Комментарии (6, +6)

Ябло (Свежее) / Говнокод #23685 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
class AccountItem {
    
    var companyName: String
    let name: String
    let number: String
    let balance: String?

    
    init(_ companyName: String, _ name: String, _ number: String, _ balance: String?, showCompanyName: Bool?) {
      
        if(showCompanyName == true){
            self.companyName = companyName
        }
        else
        {
            self.companyName = ""
        }
        self.name = name
        self.number = number
        self.balance = balance

    }
}

If просто божественен: от сравнение с true и до showCompanyName.

wwweshka wwweshka, (Updated )

Комментарии (0)