나는 불변량의 사용을 강조하는 중간 프로그래밍 과정을 택하고있다. 나는 이전에 그걸 사용 해본 적이 없으며 창조하는데 더 많은 시간이 걸리는 것 같습니다. 소프트웨어 엔지니어링 업계가 불변량의 사용을 강조합니까?프로그래밍 할 때 불변량을 사용합니까?
답변
당신이 물어 보는 사람에 따라 다릅니다 - 나는 불변량을 단순히 사용하기 때문에 인생을 더 쉽게 만듭니다. 학습 불변량은 블라인드 타이핑을 배우는 것과 같습니다. invariant를 사용할 때마다 코드에 대해 더 많이 알게됩니다. 반복문에 invariant를 주석으로 삽입하면 독자에게 많은 도움이됩니다. 불변량을 사용하면 소스 코드 생성 및 유지 보수가 훨씬 저렴 해지고 훨씬 정교한 알고리즘을 만들 수있게되며 이는 여전히 유지 관리가 가능하다고 말합니다.
OOP와는 달리 나는 불변량을 사용하여 시간 낭비하는 사람을 본 적이 없습니다.
불변량에 대해서는별로 생각하지 않습니다. 사전/사후 조건 만큼은 아닙니다. 솔직히 말하면 불변량을 더 생각해야합니다.
OO 언어를 사용하고 있지만 할 수있는 곳에서 유형을 변경할 수없는 경우 불변 식을 많이 염려 할 필요가 없습니다. 상태가 처음부터 유효하면 유효합니다.
코스가 불변량을 지나치게 강조하는 것처럼 들리는데 ...하지만 당신이하는 일에 달려 있습니다. 그들은 다른 어떤 상황보다 더 적절한 상황입니다. 어쩌면 강사는 그들이 정말로 유용한 분야에서 많은 경험을 가진 열렬한 팬 일 수도 있습니다.
불변량이 무엇이고 그 의미가 무엇인지 알게되면 코드에 대한 추론 방식이 바뀌는 경향이 있습니다. 내 말은, 나는 아주 드문 불변 조건을 쓰는 경우는 드물다. 그러나 나는 종종 내가 쓰고있는 코드에서 invariant에 대한 내 마음 속에 그림을 가지고있다. 이렇게하면 훨씬 간단한 코드를 작성할 수 있습니다. 대부분의 경우에 당신은 불변량에 대한 명시 적 주석을 쓸 필요가 없도록 아주 단순한 코드로 끝납니다. 그러나 불변량에 대해 알지 못하는 사람들은 훨씬 더 복잡한 코드를 작성합니다.
질문에 대한 답변은 투표를 닫으십시오 – cletus
매우 관련이 있습니다. '설문 조사'라는 단어는 오해의 소지가 있습니다. 질문에 '불변 식자를 사용해야합니까?'라는 제목이 있어야합니다. 또는 그런 것. –
당신이 그들을 사용하여 무슨 뜻인지 자세히 설명해 주시겠습니까? 예를 들면? 사람들이 당신이 "불변"이라는 의미 인 것을 깨닫지 않고 말하고있는 것을 사용할 수도 있습니다. – Edmund