최고의 디자인 결정을 선택할 때 종종 멈춰 있습니다. 함수 정의, 제어 흐름 및 변수 이름과 같은 작은 세부 사항조차도 선택의 이점과 장단점에 대해 비정상적으로 오랜 시간을 소비합니다. 나는 이것과 같은 중요하지 않은 세부 사항에 시간을 소비함으로써 많은 효율성을 잃고있는 것처럼 느낍니다. 그럼에도 불구하고 현재 디자인이 제대로 작동하지 않으면 이러한 것들을 …
저는 독점적 인 웹 응용 프로그램을 만드는 소규모 팀과 함께 일하고 있으며 UX는 우리 직원이 운영하는 사람이기 때문에 우선 순위가 높지 않지만 작업을 더 쉽게하려고합니다. 개발자로서 새 화면을 만들기 전에 UI 모형을 만들어야합니까? 다른 사람들과 이야기하고 참조 모델을 갖기 위해 일반적으로 일반적인 레이아웃은 너무 환상적입니다. 코드를 맹목적으로 작성하기 전에 UML …
나는 일반적으로 대부분의 코드 분석 경고에 동의하며이를 준수하려고합니다. 그러나 나는 이것으로 어려움을 겪고있다. CA1031 : 일반 예외 유형을 포착하지 마십시오 이 규칙의 근거를 이해합니다. 그러나 실제로 예외 발생에 관계없이 동일한 조치를 취하려면 왜 각각을 구체적으로 처리해야합니까? 또한 특정 예외를 처리하는 경우 나중에 호출하는 코드가 변경되어 새로운 예외가 발생하면 어떻게됩니까? 이제 …
나는 최근에 직장에서 일부 코드를 리팩터링했으며, 내가 잘했다고 생각했습니다. 980 줄의 코드를 450으로 떨어 뜨리고 클래스 수를 반으로 줄였습니다. 이것을 내 동료들에게 보여줄 때 일부는 이것이 개선이라는 데 동의하지 않았습니다. 그들은 "몇 줄의 코드가 반드시 더 나은 것은 아니다"고 말했다. 사람들이 정말로 긴 줄을 쓰거나 모든 것을 하나의 방법으로 작성하여 …
이벤트 루프가 무엇인지 이해하려고합니다. 종종 이벤트 루프에서 이벤트가 발생했다는 알림을받을 때까지 무언가를 수행한다는 설명이 있습니다. 그런 다음 이벤트를 처리하고 이전에하고 있던 작업을 계속 수행합니다. 위의 정의를 예제와 함께 매핑합니다. 이벤트 루프에서 '듣는'서버가 있으며 소켓 연결이 감지되면 데이터를 읽고 표시 한 후 서버가 이전과 같이 청취를 재개 / 시작합니다. 그러나이 사건이 …
이 질문에 사용 된 예제는 최소한의 데이터를 함수에 전달 하여 사용자가 관리자인지 아닌지를 결정하는 가장 좋은 방법을 제공합니다. 일반적인 대답은 다음과 같습니다. user.isAdmin() 이로 인해 여러 차례 반복되고 많은 투표가있었습니다. 사용자가 관리자인지 여부를 결정해서는 안됩니다. 권한 또는 보안 시스템이 있어야합니다. 클래스에 밀접하게 연결된다고해서 해당 클래스의 일부로 만드는 것이 좋은 생각은 …
나는 최근에 대학을 졸업하고 프로그래머로 일하기 시작했습니다. "기술적 인"문제를 해결하기가 어렵거나 해결책이 하나 있다고 말하는 것을 디버깅하는 것이 어렵습니다. 그러나 소프트웨어 아키텍처와 같은 명백한 해결책 이없는 일련의 문제가 있는 것 같습니다. 이런 것들이 나를 괴롭 히고 큰 고통을 안겨줍니다. 프로그램과 시스템을 "아키텍트"하는 방법을 결정하기 위해 몇 시간과 몇 시간을 보냅니다. …
교육 과정에서 실제 기본 키 (DB 키뿐만 아니라 모든 기본 접근 자)를 사용자에게 노출시키는 것은 잘못된 아이디어라고 들었습니다. 공격자가 자신이 아닌 내용을 읽을 수 있기 때문에 항상 보안 문제라고 생각했습니다. 이제 사용자가 어쨌든 액세스 할 수 있는지 확인해야하므로 그 뒤에 다른 이유가 있습니까? 또한 사용자가 어쨌든 데이터에 액세스해야하므로 외부 세계를위한 …
응용 프로그램을 구축 차이점은 무엇이고 외부에서 대를 구축 아웃 내부 TDD를 사용은? 다음은 제가 TDD와 단위 테스트에 관해 읽은 책들입니다 : 테스트 주도 개발 : 테스트 주도 개발 사례 : 실용 가이드 : 실용 가이드 Microsoft의 고품질 PHP 프레임 워크 및 애플리케이션 개발을위한 실제 솔루션 . NET xUnit 테스트 패턴 …
작년에 리치 클라이언트 애플리케이션 (35,000+ LoC, 가치있는 것)을 개발하는 1 인 팀으로 보냈습니다. 현재 안정적이며 생산 중입니다. 그러나 나는 프로젝트가 시작될 때 내 기술이 녹슬 었다는 것을 알고 있으므로 의심 할 여지없이 코드에 큰 문제가 있습니다. 이 시점에서 대부분의 문제는 아키텍처, 구조 및 상호 작용에 있습니다. 쉬운 문제, 심지어 아키텍처 …
프로젝트가 있습니다. 이 프로젝트에서는 기능을 추가하기 위해 기능을 리팩터링하고 기능을 추가하기 위해 프로젝트를 리팩터링했습니다. 문제는 내가 끝났을 때 그것을 수용하기 위해 약간의 인터페이스 변경이 필요하다는 것이 밝혀졌습니다. 그래서 변경했습니다. 그런 다음 소비하는 클래스는 새로운 인터페이스 측면에서 현재 인터페이스로 구현할 수 없으므로 새로운 인터페이스도 필요합니다. 이제 3 개월 후 거의 무관 …
때때로 나는 공허하게 공간을 응시하거나 아이디어를 스케치하고 종이에 의사 코드를 씁니다. 그런 다음 문제를 해결하고 다시 시작한 다음 문제에 대한 올바른 해결책이 있다고 생각되면 코드 작성을 시작합니다. 코드를 작성하지 않고 며칠 동안 생각하는 것이 정상입니까? 이것이 내가 문제에 완전히 접근하고 있다는 신호입니까? IDE에서 작성된 코드를 얻지 못하는 것이 긴장됩니다.
c # 또는 ruby와 같은 객체 지향 프로그래밍 언어에 대한 경험이 있습니다. 객체 지향 스타일로 프로그램을 디자인하는 방법, 클래스 및 객체를 만드는 방법 및 그들 사이의 관계를 정의하는 방법을 알고 있습니다. 또한 일부 디자인 패턴을 알고 있습니다. 사람들은 어떻게 기능성 프로그램을 작성합니까? 그들은 어떻게 시작합니까? 기능적 언어에 대한 디자인 패턴이 …
외부 API에서 입력을받는 함수를 코딩한다고 가정 해 봅시다 MyAPI. 해당 외부 API MyAPI에는 a string또는 a를 반환한다는 계약이 있습니다 number. 이 같은 일을 방지하는 것이 좋습니다 null, undefined, boolean그것의 API의 일부가 아닌 비록 등 MyAPI? 특히 API를 제어 할 수 없으므로 정적 유형 분석과 같은 것을 통해 보장 할 수 …