>기술 주변기기 >일체 포함 >ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

WBOY
WBOY앞으로
2023-04-12 19:19:201353검색

최근 여러 사람이 저에게 Amway ChatGPT를 주면서 Lao Liu, 가서 확인해 보라고 했습니다. 이 제품은 너무 강력해서 우리 프로그래머 모두 일자리를 잃을 수도 있습니다.

처음에는 살짝 웃었는데 어떻게 그럴 수가 있지? 나의 이전 견해는 내 생애 동안 AI가 결코 프로그래머를 죽일 수 없을 것이라는 것이었습니다.

근데 암웨이 파는 분들이 너무 많아서 계정 등록하고 구경할 수밖에 없네요.

이 제품이 중국에 출시되지 않을 것이라고는 예상하지 못했습니다. 인터넷에 몇 가지 전략이 있어서 번거로워서 빨리 해외에 있는 친한 친구에게 전화해서 계정 등록을 도와달라고 요청했습니다.

시작하려고 할 때 다음과 같은 간단한 질문과 답변을 건너뛰기로 결정했습니다.

문자열을 바꾸는 방법?

HTTP 호출을 어떻게 하나요?

이런 일은 수많은 코드를 읽어낸 AI에게 너무 유치하고, 얼마나 강력한지 테스트하는 것이 불가능하기 때문입니다.

프로그래머의 핵심 능력 중 하나는 요구 사항을 얻고 우아한 디자인을 만드는 것입니다. 이 점에 대해 테스트해 보겠습니다.

먼저 간단한 질문 하나 드리겠습니다:

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

(클릭하시면 더 큰 이미지를 보실 수 있습니다)

역시 "낭송"이 아주 잘 되더라구요!

마지막 원칙은 다음과 같습니다. 재사용을 위해 상속 대신 합성/집계를 사용해 보세요. 이것은 실제로 객체지향의 중요한 설계 원칙입니다.

ChatGPT가 그런 원칙을 적용할 수 있나요?

먼저 디자인을 할 수 있는지 물어보세요:

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

정말 좋습니다. 전략을 확장해 보겠습니다. 저는 우연히 고전적인 사례를 가지고 있습니다: 고전 책에서 가져온 급여 지불. "민첩한 소프트웨어" 개발: 원칙, 패턴 및 사례.

이 사건의 요구 사항은 다음과 같습니다.

시스템은 회사 데이터베이스와 직원 관련 데이터로 구성됩니다. 시스템은 규칙에 따라 직원에게 제때에 급여를 지급해야 합니다

세 가지가 있습니다. 직원 유형

1. 시간제 근로자는 시간당 고정 급여를 받으며, 하루에 8시간 이상 근무한 날짜와 시간을 기록합니다. 1.5배로 지급됩니다. 매주 금요일에 지급됩니다.

2. 월급은 고정되어 있으며, 매월 마지막 근무일에 지급됩니다.

3. 영업사원은 고정된 급여를 받지만, 급여에 따라 일정 금액을 지급받습니다. 판매 커미션의 경우 판매 날짜와 수량을 기록한 판매 영수증을 제출합니다. 격주 금요일에 지급됩니다.

직원은 수표를 지정된 우편 주소로 우편으로 보낼 수도 있고, 재무 부서에 저장한 후 언제든지 인출할 수도 있고, 지정된 은행 계좌로 직접 입금하도록 요청할 수도 있습니다.

이 요구 사항을 읽은 후 일반적인 디자인은 다음과 같습니다.

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

Employee가 기본 클래스로 사용되며 다양한 유형의 직원 클래스가 이를 상속합니다.

그러나 이 요구 사항은 변경될 것입니다. 예를 들어 시급 직원에서 월급 직원으로과 같이 직원 유형을 변경할 수 있도록 고객이 요구하므로 위의 디자인은 작동하지 않습니다.

이때 추상화를 하고 PaymentClassification 클래스를 사용하여 결제 분류를 표현한 다음 Employee 클래스가 이 인스턴스를 보유하도록 해야 합니다. 간단히 말해서 상속 대신 조합을 사용하세요.

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

이것은 trap과 동일합니다. 프로그래머가 이 ChatGPT를 식별하고 추상화할 수 있습니까? 정말 조금 궁금해요.

먼저 초기 요구 사항에 대해 물어보세요. ChatGPT의 답변은 다음과 같습니다.

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

(더 큰 이미지를 보려면 클릭하세요.)

말하지 마세요. 요구 사항을 "이해"하고 추출했습니다. 명사는 클래스를 설계하는 데 사용되며 클래스의 상속 관계는 설계됩니다.

객체 지향 설계의 기본 수준에 도달했습니다.

다음 단계는 그를 위해 구멍을 파는 것입니다.

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

놀랍습니다. 이 사람은 실제로 추상화를 배웠습니다!

추상화된 유형은 EmployeeType이라고 하며 PaymentClassification만큼 정확하지는 않지만 일반적인 방향은 동일합니다. EmployeeType을 사용하여 직원 유형이 변경되면 Employee 클래스를 변경할 필요가 없습니다.

솔직히 이런 결과가 나온 걸 보고 정말 놀랐습니다. 꽤 많은 프로그래머들을 능가한다고 할 수 있겠네요.

그런 다음

결제 주기를 처리하는 방법에 대해 다시 물었습니다.

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

이번에는 추상화가 훨씬 더 강력했고 정확한 이름인

PaymentSchedule과 관련 의사 코드를 직접 제공했습니다!

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!결제 주기를 수정해야 할 경우 원래 직원 클래스를 수정하지 않고 PaymentSchedule만 변경하면 된다고 구체적으로 언급했습니다.

상속보다 구성이 더 좋으며 이는 다시 반영됩니다

. 이것은 책의 예와 거의 동일합니다.

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!계속해서

결제 방법

에 대해 문의하세요.

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!예상대로 디자인은 여전히 ​​훌륭합니다.

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!사실 , ChatGPT의 디자인은 책의 최종 계획에 매우 가깝습니다.

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

ChatGPT는 정말 강력하고 강력한 디자인 기능을 보여주며 대화 과정이 매우 원활합니다.

인공지능이 실제로 요구사항을 이해하고, 추상화를 배우고, 아름다운 클래스 구조를 디자인할 수 있을까요? 프로그래머의 핵심 역량이 대체된 셈이다. 과연 프로그래머의 위기가 찾아오는 걸까?

또 다른 질문을 해서 클래스를 그려달라고 했습니다.

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

잠깐, 여기서 클래스 이름은 왜 이전 클래스와 다른가요? :Union은 어떻게 나온 걸까요? 멤버? 이번 대화중에 저는 이 컨셉을 말한 적이 없습니다! 그걸 어디서 알았지? 아마도 이 놈은 내가 말한 요구 사항을 이해하지 못했다는 것입니다.

이 사건을 미리 연구했어야 했는데, 여전히 스스로 배운 내용을 조합원들에게 전달하고 있었습니다. 나에게서 이것은 진실을 드러냈다

. ChatGPT 웹사이트를 닫고 다시 로그인하여 동일한 콘텐츠를 사용하여 다시 상호작용했습니다. 이번에는 결과가 완전히 노출되었습니다.

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!

ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!이번에는 PaymentClassification/EmployeeType을 전혀 추상화하지 않은 것을 보셨나요? 실제로

프로세스 지향 아이디어, 유형 속성 추가, 스위치 사용

을 권장했습니다. 이는 이전 계획보다 훨씬 나쁩니다. 마지막으로 소감을 말해주세요! ChatGPT는 실제로 매우 강력합니다. 엄청난 양의 데이터를 학습하고 그 안에 많은 내용을 담고 있어야 하지만 여전히 기존 지식을 개선하고 통합할 필요가 없습니다.

완전히 새로운 도메인 문제를 던지면 아마도 실제 비즈니스 문제를 가지고 놀 수 있을 것입니다.

그래서 ChatGPT는 좋은 도우미이지만 완전히 의존하고 싶다면 그것이 말하는 내용이 우아한 코드일 수도 있고 정크 코드일 수도 있다는 점을 주의 깊게 평가해야 합니다.

위 내용은 ChatGPT의 강력한 프로그래밍 기능으로 인해 식은땀이 흘렀습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제