Paramount Skydance는 대답을 거부하고 싶습니다. 최근 WBD 이사회가 적대적인 입찰을 포함해 워너 브라더스 디스커버리(WBD) 인수를 거부한 후, 파라마운트는 법원으로 향하여 대리전을 벌이고 있습니다.
월요일에 파라마운트 CEO 데이비드 엘리슨(David Ellison)은 회사가 WBD와 이를 승인하게 된 과정에 대한 추가 공개를 요구하는 소송을 델라웨어 주 법원에 제출했다고 말했습니다. 파라마운트는 WBD가 계획된 케이블 네트워크 분사인 Discovery Global(또는 서류에 따라 Global Networks)의 가치를 WBD가 어떻게 평가했는지를 포함하여 주주들이 경쟁 제안을 평가하는 데 필요한 "기본 정보"를 제공하지 않았다고 주장합니다. Netflix 인수로 Discovery Global은 자체 상장 회사가 되었으며 Paramount 제안에는 이러한 자산이 포함되었습니다.
파라마운트는 또한 기업 압력 캠페인을 확대하고 있으며 Ellison은 WBD의 2026년 연례 회의에서 선거를 위해 이사 명단을 지명할 계획이라고 말했습니다. 최종 목표는 WBD와 Netflix의 합병 계약 조건에 따라 "참여"할 보드를 설치하는 것입니다.
WBD가 연례 회의 전에 넷플릭스 거래를 승인하기 위해 특별 회의를 소집한다면 파라마운트는 거래에 반대하는 대리 투표를 요청할 것이라고 말했습니다. 또한 주주들이 Discovery Global의 분리를 승인하도록 요구하는 내규 변경을 추진할 계획입니다. 이러한 변화는 파라마운트가 Netflix 합병으로 내장된 Discovery Global의 가치 없이 WBD 주식을 매입하여 주주들을 둘러싼 불길(실제 또는 상상)을 불러일으키는 것처럼 보입니다.
파라마운트는 WBD 파라마운트의 입찰이 '불충분한 가치'를 제공하는 반면, WBD 파라마운트의 제안은 넷플릭스의 제안보다 '우수하다'고 확신하고 있으며, 파라마운트는 '결함과 잠재적인 해결책 모두에 대한 WBD의 명확한 지시에도 불구하고' 진정한 최고의 제안을 제출하지 못했다고 확신하고 있습니다. 이번 소송은 이제 WBD가 어떻게 파라마운트의 입찰보다 넷플릭스 거래를 추천하게 되었는지 정확히 설명하도록 하는 것을 목표로 하고 있습니다.
WBD는 소규모 스튜디오가 차입 매수를 성사시켜야 한다는 점을 언급하면서 잠재적인 파라마운트 거래가 성사될지 여부에 대한 우려를 표명했습니다.

6년 반 전, 기업 매각 시도 실패, 막대한 금전적 손실, 많은 핵심 직원의 해고 이후 나는 당시 GameStop의 "임박한 종말"처럼 보였던 사건에 대해 글을 썼습니다. 이제 5년 동안 회사의 재정을 지탱하는 데 도움이 된 밈 스톡 매니아 이후, 저는 비디오 게임과 Funko Pop 소매업체가 제가 예상했던 것보다 관련 기업으로서 훨씬 오랫동안 지속되었다는 것을 인정하겠습니다.
GameStop의 놀랍게도 연장된 운영은 이제 끝나기 시작할 수 있습니다. Polygon은 지난주 말 GameStop이 미국 전역의 400개 매장을 갑자기 폐쇄했으며 이달 말 이전에 더 많은 매장이 폐쇄될 것으로 예상한다고 보고했습니다. 이는 SEC 서류에 따르면 2024년 회계연도(2025년 1월 종료)에 문을 닫은 미국 매장 590개에 더해 앞으로 몇 달 안에 캐나다, 호주, 유럽 전역에 남아 있는 수백 개의 해외 매장에 대한 운영을 종료할 계획을 밝혔습니다.
GameStop은 2025년 2월 1일 현재 전 세계적으로 3,200개 이상의 매장을 보유하고 있으므로 수백 개의 신규 매장 및 계획된 매장 폐쇄가 문자 그대로 회사의 즉각적인 종료를 의미하지는 않습니다. 그러나 2019년 현재 전 세계적으로 거의 6,000개의 GameStop 위치가 있으며 그 중 거의 4,000개가 미국에 있다는 점을 고려하면 장기적인 추세는 분명합니다.
전체 기사 읽기
댓글

ZDNET을 팔로우하세요: 우리를 선호 소스로 추가하세요 Google에서.
당신이 외로운 프로그래머라면 기술 지원 티켓을 소중히 여기기도 하고 두려워하기도 합니다.
사용자와의 상호 작용을 통해 코드가 실제로 수행되는 작업을 더 잘 이해할 수 있기 때문에 이를 소중히 여깁니다. 때로는 이러한 상호 작용으로 인해 손상된 코드를 수정해야 하는 상당히 큰 숙제가 발생하기 때문에 두려워합니다.
지난주에 그런 티켓을 하나 받았습니다. 한 사용자가 자신의 웹사이트에 대한 액세스를 차단하는 보안 도구를 사용할 수 없다고 나에게 편지를 보냈습니다. 나는 웹사이트를 비공개로 만들도록 설계된 오픈 소스 WordPress 플러그인을 유지 관리하고 있습니다. 플러그인은 무료이지만 내 비용은 대부분 일련의 추가 기능으로 지원됩니다.
플러그인이 액세스를 차단하지 않는다는 불만이 가끔 접수됩니다. 해결책은 거의 항상 두 단계 중 하나입니다. 특정 테마에 대한 차단 동작을 변경하는 호환 모드를 켜거나, 캐시된 웹 사이트가 상태 변경을 무시하기 때문에 캐싱을 끄는 것입니다.
또한: 저는 무료 AI 코딩 도구와 유료 AI 코딩 도구를 테스트했습니다. 실제로 사용할 AI 코딩 도구는 다음과 같습니다.
나는 그녀에게 응답을 보냈지만 그녀는 어떤 해결책도 효과가 없다고 말했습니다. 우리는 한동안 왔다 갔다 했지만, 제가 평소에 알려드린 팁 중 어느 것도 효과가 없는 것 같았습니다. 사용자에 대한 공로: 그녀는 나와 함께 붙어서 내 모든 질문에 답변했습니다. 때로는 사용자가 그냥 포기하고, 거기서 무슨 일이 벌어지고 있는지 궁금해지게 됩니다. 그러나 해결책을 찾는 데 기꺼이 파트너가 되고자 하는 부지런한 사용자는 금과 같습니다.
이것은 대부분 ChatGPT 이야기이기 때문에 문제에 대해 너무 자세히 설명할 필요는 없습니다. 그러나 결국 차단을 켜는 설정이 고착되지 않는다는 것을 확인했습니다. 이러한 상황은 robots.txt 파일과 관련된 특정 구성을 가진 몇몇 웹사이트에서만 발생했습니다. 이는 제가 10월에 추가한 기능과 관련이 있었지만 이전 테스트 환경에서는 볼 수 없었던 동작이었습니다.
즉, WordPress 플러그인 저장소에서 정확한 증상에 대해 불만을 제기한 누군가로부터 별 1개 리뷰를 받았기 때문에 적어도 한 명의 다른 사용자가 이 문제를 경험했습니다. 그 사용자는 나에게 연락한 적이 없었기 때문에 도움이 되지 않았습니다. 그는 내가 내 플러그인을 홍보하는 메인 사이트에 별 1개짜리 "이건 형편없어" 리뷰를 기쁜 마음으로 남기고 떠났습니다. 나는 그것이 다른 많은 다운로드를 단념했다고 확신하지만 적어도 내가 발견한 버그가 문제라는 것을 확인했습니다.
(공개: ZDNET의 모회사인 Ziff Davis는 2025년 4월 OpenAI를 상대로 AI 시스템 교육 및 운영에 있어 Ziff Davis의 저작권을 침해했다고 주장하는 소송을 제기했습니다.)
지난 9월에 이 사용자 문제를 일으킬 수 있는 기능을 처음 추가했을 때 저는 월 200달러 ChatGPT Pro 요금제를 사용하고 있었습니다. 약 5시간 만에 용량이 부족해 계속하기 위해 며칠을 기다리고 싶지 않았기 때문입니다. 10월에 프로그래밍 프로젝트를 마친 후 훨씬 더 합리적인 월 20달러 ChatGPT Plus 요금제로 되돌아갔습니다. 그게 제가 지금 가입한 이유입니다.
또한: 4년 간의 제품 개발을 4일 만에 200달러에 완료했지만 여전히 놀랍습니다.
월 20달러 요금제가 가끔씩 발생하는 버그 수정 및 기능 추가 실행에 충분하다는 사실을 알게 되어 기뻤습니다. 이 전체 프로세스는 ChatGPT Plus 계획을 사용하여 수행되었습니다.
VS Code 개발 환경에 ChatGPT 통합을 유지했기 때문에 이 버그를 진단하기 위한 코드로 다시 돌아가기 위해 VS Code를 열고 Codex 창에 입력하기 시작했습니다. OpenAI의 최신, 최고의 코딩 모델인 GPT-5.2-Codex를 선택하고 작업에 들어갔습니다.
나의 첫 번째 시도는 단순히 사용자의 불만 사항을 ChatGPT와 공유하고 AI에게 코드를 스캔하여 오류를 찾을 수 있는지 확인하도록 요청하는 것이었습니다. 사용자의 초기 불만 사항에는 문제를 진단하기에 충분한 정보가 포함되어 있지 않았기 때문에 작동하지 않았습니다. 그 사용자는 웹 관리에 대해 잘 모른다고 해서 제가 직접 그 사이트를 볼 수 있도록 허락을 구했습니다.
몇 분 동안 둘러본 결과 내 최신 기능 중 하나인 AI 스크래핑 방어 기능이 그녀의 사이트에서 활성화되면 동일한 탭 그룹의 다른 변경 사항이 유지되지 않는다는 것을 알 수 있었습니다. 체크박스를 클릭하고 저장을 누를 수도 있지만 저장되지는 않습니다. 이전에는 문제를 본 적이 없었지만 문제가 그녀의 서버 구성과 관련이 있다는 것이 분명해졌습니다.
문제를 확인한 후 ChatGPT에 문제 해결을 요청했습니다. 제가 특히 흥미로웠던 점은 Codex가 변경을 하기 전에 제 코드에 설정 내보내기 기능이 있다는 것을 상기시켜 주고 사용자 시스템에서 해당 설정을 가져오라고 요청했다는 것입니다. 변경하기 전에 설정 데이터가 어떻게 보이는지 다시 확인하고 싶었습니다.
그것은 무의미한 AI 요청이 아니었습니다. 그것은 내 보안 제품의 전반적인 아키텍처에 대해 완전히 정통한 "누군가"의 상당히 정교한 요청이었습니다. 이는 초보자나 1년차 프로그래머가 요구할 사항이 아니라 경험이 많은 개발자가 변경하기 전에 확인할 수 있는 사항이었습니다.
또한: 60시간 동안의 페어 프로그래밍 후에야 알게 된 ChatGPT 코덱스의 10가지 비밀
계속해서 설정 JSON 파일을 생성하여 Codex에 제공했습니다. 이를 살펴본 후 내 코드를 검토하여 실제로 버그가 있는 동작을 일으키는 사용 패턴을 식별했습니다. 해당 버그를 수정하려면 약간의 엔지니어링이 필요했으며 그날 밤 저녁 식사로 시금치를 후무스 및 라임 후추 양념과 섞는 동안 ChatGPT가 내 코드를 다시 작성하고 버그를 수정했습니다.
사용자 구성을 로컬에서 다시 생성하고 버그 수정 전후를 모두 테스트했습니다. 수정된 코드로 문제가 해결되었으므로 이를 사용자에게 다시 보냈습니다.
이 시점에서 사용자가 만족했고 Webland의 모든 것이 다시 한 번 좋았다고 말할 것이라고 기대할 수도 있습니다. 하지만 아닙니다. 이제 설정이 중단되어 보호 기능이 활성화되었지만 사용자 사이트는 여전히 보호되지 않은 것처럼 보였습니다.
나는 여전히 사용자 사이트에 액세스할 수 있었기 때문에 다시 들어가서 일부 페이지는 보호되어 있지만 다른 페이지는 그렇지 않은 것을 발견했습니다. 사이트의 모든 캐싱 플러그인이 꺼져 있었기 때문에 문제가 된 것은 사이트별 캐싱이 아니었습니다.
이 모든 정보로 Codex를 업데이트했고, AI는 말도 안 되는 제안(서버 전체를 삭제하고 다시 시작하는 것)부터 믿을 수 없을 만큼 유용한 제안까지 여러 가지 제안을 했습니다. 나는 코딩 AI가 이상한 제안을 던지는 것을 좋아한다는 것을 오랫동안 배웠습니다. 이는 우리 인간이 주의를 기울이도록 하기 위한 것이라고 생각합니다. 이러한 옵션을 제거하면 AI는 더욱 기반이 되는 경향이 있습니다.
또한 내가 해당 컴퓨터에 대한 셸 액세스 권한이 있는 서버 관리자라면 효과가 있었을 여러 가지 로깅 및 추적 제안을 제시했습니다. 그러나 사용자가 서버 기술에 매우 익숙하지 않았고 호스팅 공급자가 사용자 액세스를 위해 셸을 노출하지 않았기 때문에 이러한 옵션은 불가능했습니다.
또한: ChatGPT 사용 방법: 가장 인기 있는 AI 챗봇에 대한 초보자 가이드
다행히 ChatGPT에 이러한 접근 방식은 불가능하다고 설명하자 ChatGPT에서는 새로운 전략을 생각해 냈습니다. 숨기지 않는 페이지에 ?mps_hide=1과 같은 매개변수를 추가하라고 요청했습니다.
이는 캐시가 캐시된 페이지가 아닌 새 페이지를 피드하도록 강제할 것이라고 설명했습니다. 테스트 매개변수가 있는 URL이 차단되었지만 테스트 매개변수가 없는 URL이 차단 해제된 경우 실제로 서버와 브라우저 사이 어딘가에 캐싱이 있음을 확인하게 됩니다.
그랬고, 있었습니다. 내 코드가 제어할 수 없는 일부 시스템 수준 캐싱 방식은 내 보안 플러그인 뒤에 있어야 하는 이전 버전의 페이지를 공급하는 것이었습니다. 페이지가 내 플러그인에 의해 공급되지 않았기 때문에 해당 페이지를 차단할 기회가 없었습니다.
유일한 수정 방법은 호스팅 수준에서 캐싱을 비활성화하는 것이었습니다. 이것은 내 통제 밖이었고, AI의 통제 밖이었고, 심지어는 사용자의 통제 밖이었습니다. 문제는 호스팅 제공업체의 기술 지원 팀으로 에스컬레이션되어야 했습니다.
VS Code 개발 환경 내에서 이 모든 작업을 수행했음에도 불구하고 이 이야기는 코딩과 다른 부분이 있습니다.
다음 도전은 여기였습니다. 나는 역사적으로 반응이 없고 상당히 비협조적인 호스팅 제공업체의 기술 지원 팀에게 매우 기술적인 요구 사항을 설명하는 방법을 매우 기술에 익숙하지 않은 사용자에게 설명하려고 하는 상황에 직면했습니다. 이 호스팅 제공업체와 거래한 기록이 있습니다. 내가 ZDNET에서 별 5개 리뷰를 주지 않았다는 이유로 나를 해고시키려고 시도한 적이 있습니다. 이전에는 편집장 두 명이 있었습니다. 그렇죠. 역사.
내가 해야 할 일은 사용자에게 호스팅 제공업체의 아주 친절한 사람들에게 전달할 수 있는 기술 지원 요청 텍스트를 제공하는 것이었습니다. 나는 이 글의 어느 곳에도 나의 잔여 분노가 나타나는 것을 원하지 않았습니다. 나는 또한 그들이 작업할 수 있는 기술 문서를 주의 깊게 작성하는 데 시간을 낭비하고 싶지 않았습니다.
또한: 60시간 동안의 페어 프로그래밍 후에야 알게 된 ChatGPT 코덱스의 10가지 비밀
그래서 개발 환경 내에서 기술적 지식이 없는 사용자가 호스팅 공급자에게 기술 지원 요청을 전송해야 한다고 Codex에 말했습니다. 보고서는 작업을 완료하는 데 충분한 세부 정보를 제공해야 했습니다.
Codex는 나를 위해 이를 작성했을 뿐만 아니라 "진단 증명"이라는 내용을 포함하여 호스팅 제공업체의 기술 지원 팀에 문제가 호스트 수준 캐싱에 있으며 우리 측에서 해결할 수 없다는 것을 어떻게 입증했는지 효과적으로 알려주었습니다.
사용자에게 문자를 보냈습니다. 그녀는 그것을 호스팅 제공업체에 보냈습니다. 하루 후 그녀는 모든 것이 다시 작동하고 있다고 보고했습니다.
ChatGPT의 월 20달러 Plus 플랜은 가끔 버그를 수정하고 이 기사에 설명된 작업에 적합합니다. 완전히 새로운 제품을 만들 수는 없지만 VS Code 워크플로에 추가된 것은 매우 환영할 만한 일입니다. 특히 다른 목적으로 ChatGPT Plus를 이미 갖고 있는 경우에는 더욱 그렇습니다.
새로운 GPT-5.2-Codex는 특히 도움이 되었고 대부분 순조롭게 진행되었습니다. 사용자와의 상호 작용은 며칠에 걸쳐 이루어졌지만 Codex의 도움으로 코드 및 솔루션 작업에 소요된 실제 시간은 1시간 미만이었습니다. 아, 그리고 고객이 저에게 매우 감사한 별 5개 리뷰를 남겼습니다.
추가: ChatGPT가 실제로 작동하는 방식(그리고 이것이 판도를 크게 변화시킨 이유)
시간 압박 속에서 실제 문제를 디버그하기 위해 Codex와 같은 AI 코딩 도우미를 사용해 보셨나요? 실제로 시간을 절약했습니까, 아니면 간접비와 허위 리드를 추가했습니까? 정확하고 외교적이어야 하는 지원 이메일 작성과 같이 사용자 대면 커뮤니케이션을 위해 AI에 얼마나 편안하게 의존하시나요?
그리고 근본 원인이 호스트 수준 캐싱과 같이 코드 외부에 있는 것으로 밝혀진 경우 진단을 입증하고 호스팅 공급자가 조치를 취하도록 하기 위한 접근 방식은 무엇입니까? 아래 댓글로 여러분의 경험과 팁을 공유해 주세요.
소셜 미디어에서 저의 일상적인 프로젝트 업데이트를 팔로우하실 수 있습니다. 내 주간 업데이트 뉴스레터를 구독하고 Twitter/X에서 나를 팔로우하세요. @DavidGewirtzFacebook(Facebook.com/DavidGewirtz), Instagram(Instagram.com/DavidGewirtz), Bluesky(@DavidGewirtz.com), YouTube(YouTube.com/DavidGewirtzTV).
このページのリンクから手数料を得る場合があります。
取引の価格と在庫状況は、公開後に変更される場合があります。
クレジット: Ian Moore によるイラスト、および Amazon からの製品画像提供。
CES 期間中は通常そうであるように、古いモデルには大幅な割引があり、プレミアム テクノロジーを購入するのに最適な時期の 1 つとなります。あなたが大規模なOLED TVを探しているなら 割引、現在販売されている77インチのSony Bravia A95L OLED TVよりもはるかに優れているわけではありません。 3,498ドル (当初は 4,999.99 ドル)。価格追跡ツールによると、これはこのプレミアム TV がこれまでに到達した最低価格です。
77 インチ Bravia A95L は、Samsung の OLED TV で成功を収めているのと同じ QD-OLED パネル技術を使用しており、それをクラス最高の Cognitive Processor XR と組み合わせています。これにより、色量、HDR コンテンツのピーク輝度、およびモーション処理が、2026 年においても OLED TV の中で最高の 1 つになります。このため、ゲーム中も美しく見えるプレミアム シアター TV を求める人にとって、この OLED TV は素晴らしい OLED TV となります。
A95L には、Google TV スマート インターフェイスが付属しています。これは、携帯電話やラップトップから TV へのキャストが簡単になり、ハンズフリー音声コントロール用の内蔵マイクを備えているため、私の個人的なお気に入りです。 77 インチのプレミアム OLED TV の選択肢はそれほど多くなく、時の試練に耐えてきたものはさらに少ないです。 Bravia A95L は、その品質、サイズ、そして最も重要なのはその価格の点で、2026 年でも依然として価値があります。余裕があり、十分な大きさの壁があるのであれば、この巨大な OLED はお買い得です。
取引は当社のコマースチームによって選択されます
プログラミングには、低レベルのコーディングからコミュニケーションなどの高レベルのタスクまで、さまざまなスキル セットが必要です。以下のヒントは、私のプログラミングのキャリアを通じて向上するのに役立ちました。
初心者は非効率的なコードを書き、上級プログラマーは最適化されたコードを書きます。しかし、真の専門家は、コードをいつ最適化すべきか、いつ最適化すべきでないかを知っています。
実際には、「最適化されたコード」などというものは実際には存在しません。コードは、速度、メモリ使用量、またはその他のいくつかの要素に関して最適化される場合があります。しかし、時期尚早の最適化について話すときは、通常、速度を最適化する試みについて話しますが、それには通常、別のコストが伴います。
コストとしては、メモリの使用量、プログラムのサイズ、プログラム全体の設計と保守性などが考えられます。最適化には、他の方法よりも理解するのがはるかに難しいテクニックが必要になることが多く、他の人にとってはコードが理解しにくくなる可能性があり、将来的には混乱する可能性さえあります。
ライフサイクルの初期段階でコードを最適化しないようにしてください。少なくともそれを焦点にすることは避けてください。コードをテストし、そのパフォーマンスを測定し、コードのどの部分が最適化によってメリットが得られるかを理解します。
プログラマーとして向上する方法のほとんどには、ある程度のコラボレーションが必要です。完全に一人でコードベースに取り組んでいる場合でも、別のバージョンの自分、つまり疲れている自分、別のプロジェクトから切り替えている自分、または現在の自分より知識がある自分と共同作業する必要があります。
しかし、優れた実践方法は、私利私欲だけを目的としたものではありません。大多数のプログラマーは、ある時点で、最終的には他の人と一緒にコードを作成することになります。
共同作業は複雑なソフトスキルなので、最初は難しく感じても心配しないでください。
ペア プログラミングでも、GitHub 上のプロジェクト メンテナーとの共同作業でも、AI アシスタントの使用でも、練習すれば完璧になります。他の人の提案を受け入れ、自分のアプローチを説明し、異なる意見を尊重する方法を学びます。
それは単なるソフトスキルではありません。 GitHub や Slack などのツールは、特に最大限に活用すると大きな違いを生みます。明確に理解できるコード (または散文) を書くことができれば、どのチームにとっても貴重な人材となることができます。
プログラミングに関しては、学ぶためのツールが不足することはありません。言語やテクノロジースタックなどの基本的なものから、日常をよりスムーズに進めるための小さなユーティリティまで、追加のサポートを常に探しておく必要があります。
このテクニックは、必ずしも最高のツールを使用するというものではなく、それらを最高の方法で使用することを目的としています。 Vim と VSCode のどちらを選択するか悩むのではなく、(よく調べた上で) 1 つを選択し、よく理解してください。本当によくね。
私のキャリアの初期に、Vim マスターである同僚が仕事をしているのを見て、とても勉強になったことを今でも覚えています。彼らはファイルを簡単に飛び回って、私には理解できない方法でナビゲートし、キーを押すだけで根本的な変更を加えました。そしてそれは、Emacs を使用していた同僚に比べれば何でもありませんでした。
より優れたプログラマーになれるツールを見つけるのはスリルがあります。なぜなら、それは多くの場合安価で、即座に永続的にアップグレードできるからです。
Unix の哲学では、ソフトウェアは「1 つのことを実行し、それをうまく実行する」必要があると有名に述べられています。このアプローチは Unix に依存しないため、他のどこにでも適用でき、おそらく何らかの利点が得られるでしょう。
より小さなプログラムを作成するということは、プログラムの保守が容易になることを意味し、より広範囲のタスクを実行するのに役立ちます。パイプやリダイレクトなどの機能を使用して、小さなツールを組み合わせて連携させることができます。これにより、単一のモノリシック アプリケーションへの依存を軽減できます。
プログラムのサイズと密接に関係しているのは、修正しようとしている実際の問題です。場合によっては、タスクを小さな部分に分割し、それぞれを個別のプログラムで解決することで、これに影響を与えることができます。
ただし、多くの場合、明確に定義されたタスクがあっても、その詳細が集中力に影響を与える可能性があります。目標を具体的にしすぎたり、一般的にしすぎたりするのは簡単です。前者のアプローチでは、コードが単一の問題と密接に結びつきすぎて、問題が変化した場合に適応することが困難になる可能性があります。これにより、費用のかかる書き換えが発生する可能性があり、時間と労力がかかるだけでなく、バグが発生するリスクも高まります。
一方、問題を過度に一般化すると、実際に必要なことをはるかに超えたタスクが作成される可能性があります。一般化を続けて、ますます役立つ、または興味深い課題を解決しようとして、最終的には本当の優先事項からは程遠い「すべての問題を解決するプログラム」に取り組むことになりがちです。
同様に、コードの構成要素 (関数) も適切な長さである必要があります。私たちは皆、1 つの巨大な関数で構成されるプログラムを扱わなければならなかったことがありますが、プログラムを追跡したり、推論したり、変更したりするのははるかに困難です。
逆に、これをやりすぎる可能性があります。すべての関数が単なる 1 つのステートメントである場合、その逆の極端な場合と同じくらい、ごちゃ混ぜでわかりにくいコードが作成されることになります。
個人的には、前後にスクロールせずにすべての機能を確認できるように、1 つの画面に収まる機能が好きです。これは、明らかに画面サイズ、フォント サイズ、行の長さなどの要因に依存しますが、一般的に機能を管理しやすくするための有用なガイドラインであると思います。たとえば、一部の言語はより冗長または簡潔なコードに適しているため、必ずご自身の判断で行ってください。
関数について言えば、私がよく書かれたコードを何よりも高く評価するようになったのは、純粋関数の使用です。
純粋関数とは、簡単に言えば、一貫した出力を返すこと以外は何もしない関数です。以下に例を示します。
int max(int a, int b)
{
return a > b ? a : b;
}
この関数は値を返すだけで、max(1, 2) を呼び出すたびに同じ結果が返されます。対照的に、不純な関数の例を次に示します。
function print_random(array) {
const n = array.random();
console.log(n);
return n;
}
このコードにはコンソールに出力されるという副作用があり、同じ入力でも異なる結果が返される可能性があります。
純粋関数は予測しやすいため、組み合わせるのがはるかに簡単です。また、予想される出力を検証できるため、テストがはるかに簡単になります。これは、作成するすべての関数が純粋である必要がある (または純粋であることができる) という意味ではありませんが、コードベースを純化して信頼性を高める機会に注意する必要があります。