Skip to content

과제 피드백 #1

@FaithArchive

Description

@FaithArchive

잘한점

  • MVC로 나누어 구성하신 점 정말 잘하셨습니다 :)
  • buttonTapped 함수에서 switch문을 사용하여 가독성을 좋게 하셨네요
  • readme를 잘 작성해 주셨습니다

아쉬운점

lazy var numLabel: UILabel = {
        let label = UILabel()
        label.text = expression
        label.textAlignment = .right
        label.textColor = .white
        label.font = .systemFont(ofSize: 60, weight: .bold)
        label.numberOfLines = 0
        label.adjustsFontSizeToFitWidth = true
        label.minimumScaleFactor = 0.5
        return label
    }()
  • lazy가 필요없는 부분은 제거하셔도 될 것 같습니다
struct Buttons {
    private init() {}
    static let multiplMark = "×"
    static let divisionMark = "÷"
    static let texts = ["7", "8", "9", "+", "4", "5", "6", "-", "1", "2", "3", multiplMark, "AC", "0", "=", divisionMark]
    static let orrangeBtns = ["+", "-", divisionMark, multiplMark, "AC", "="]
    static let operators = ["+", "-", divisionMark, multiplMark]
}

  • 버튼들의 data에 enum을 적용하시면 좀 더 깔끔하고 의미 전달이 좋을 것 같습니다

총평

전반적으로 너무 잘 작성해 주셔서 크게 피드백 드릴 것이 없네요 :)
mvc에 관해 물어보셨는데 일단 View를 잘 분리하셨습니다.
model에 대해서는 저라면 button 하나에 대한 데이터를 먼저 정의했을 것 같네요. 그 버튼들을 모아서 buttons를 만들 수 있으니까요.
버튼에는 "7", "+"인 텍스트도 필요하겠지만, 이게 숫자인지 어떤 연산자인지를 판단하는 enum값이 같이 들어간다면 사용하는 쪽에서 더 편하게 사용할 수 있을거라 생각합니다. 수고 많으셨습니다~

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions