ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데일리 과제 4
    장고 2023. 7. 24. 11:35

    FBV와 CBV는 각각 무엇이며, 어떤 차이가 있습니까?

    장고 MVT 패턴 중 View를 구현하기 위한 방법이 두 가지 있습니다. 함수 형식으로 작성하는 FBV, 클래스 형식으로 작성하는 CBV.

     

    FBV(Function Based View)

    from rest_framework.decorators import api_view
    from rest_framework.response import Response
    from rest_framework import status
    
    
    @api_view(['GET', 'POST'])
    def example(request):
        if request.method == 'GET':
            return Response({"message": "GET 요청"}, status=status.HTTP_200_OK)
        else:
            return Response({"message": "POST 요청"}, status=status.HTTP_201_CREATED)


    CBV(Classs based View)

    from rest_framework.views import APIView
    from rest_framework.response import Response
    from rest_framework import status
    
    
    class Example(APIView):
        def get(self, request):
            return Response({"message": "GET 요청"}, status=status.HTTP_200_OK)
            
        def post(self, request):
            return Response({"message": "POST 요청"}, status=status.HTTP_201_CREATED)

     

     

    단순히 함수로 구현하냐, 클래스로 구현하냐의 차이입니다. 어떤 것을 쓰든 상관은 없지만 둘의 장단이 있습니다.

      장점 단점
    FBV 쉽고 편하게 구현 가능
    읽기 편한 로직
    확장성
    재사용성
    CBV 확장 및 재사용 용이
    다중 상속 가능
    상속으로 인해 읽기 어려움

     

     

    테스트코드를 작성하는 이유는 무엇이며 어떤 장점이 있습니까?

    1. 코드의 안정성 향상 테스트 코드를 작성하면 코드의 안정성이 향상됩니다. 테스트 코드를 작성하면 새로운 기능을 추가하거나 코드를 변경할 때, 기존 코드에 문제가 생겼는지 검증할 수 있습니다. 이를 통해 특정 기능이나 모듈이 제대로 작동하는지 확인할 수 있으며, 버그를 사전에 발견하여 코드의 안정성을 높일 수 있습니다.
    2. 코드 리팩토링 용이성 테스트 코드를 작성하면 코드 리팩토링이 용이해집니다. 코드 리팩토링은 기존 코드를 유지보수하거나 개선할 때 사용하는 기술로, 코드의 가독성을 높이고 유지보수를 쉽게 만들어 줍니다. 테스트 코드를 작성하면 리팩토링 후 코드의 기능이 변경되는지 여부를 확인할 수 있으므로, 코드 리팩토링이 쉬워집니다.
    3. 팀원 간 협업 향상 테스트 코드를 작성하면 팀원 간 협업이 원활해집니다. 테스트 코드를 작성하면 코드 자체의 동작을 이해하고, 코드 리뷰를 수월하게 할 수 있습니다. 또한, 테스트 코드를 작성하면 코드 변경 후에도 기능이 문제없이 동작하는지 확인할 수 있으므로, 팀원들 간의 신뢰도가 향상됩니다.
    4. 코드 품질 향상 테스트 코드를 작성하면 코드의 품질이 향상됩니다. 테스트 코드를 작성하면 코드의 가독성과 유지보수성이 높아지며, 버그 발생 확률도 낮아집니다. 이를 통해 코드의 품질을 높일 수 있습니다.

    최종적으로, 테스트 코드를 작성하면 코드의 안정성, 유지보수성, 협업성, 품질 등이 향상되므로, 개발자로서 반드시 필요한 기술 중 하나입니다.

     

    테스트 코드를 작성하면 코드가 어떻게 작동하는 지를 이해하고, 코드를 수정할 때 예상치 못한 부작용을 방지할 수 있습니다. 또한 테스트 코드는 개발자 간의 협업을 원활하게 하고, 코드를 유지 보수하는 데 필요한 문서화 작업을 줄일 수 있습니다.

    테스트코드를 작성하면 안정성 향상, 리팩토링 용이성, 협업 향상, 코드 품질 향상 등 많은 이점있지만, 그 중에서도 저희 팀에서 겪은 경험을 예를 들면, AI 기능 테스트 코드를 작성하는 도중 AI 기능에서 발생하는 오류의 원인을 알게 되어 문제를 해결할 수 있었던 경험이 있습니다.

    '장고' 카테고리의 다른 글

    데일리 과제 6  (0) 2023.07.26
    데일리 과제 5  (0) 2023.07.25
    데일리 과제 3  (0) 2023.07.21
    데일리 과제 2  (0) 2023.07.20
    데일리 과제 1  (0) 2023.07.19
Designed by Tistory.