디자이너 도구가 프로그래밍 경험을 저하 시킵니까? [닫은]


10

최근에 특히 사용 가능한 일부 MS 도구를 둘러 보았으며 디자이너 도구 및 마법사에 큰 초점을 맞추고 있습니다. UI 개발뿐만 아니라 모든 것을위한 것입니다.

  • Entity Framework에는 모델러가 있습니다.
  • RIA Services에는 DomainService 마법사가 있습니다
  • 워크 플로에는 전체 워크 플로 디자이너가 있습니다 ... (모름, 실제로 사용하지는 않음)

더 있지만 아이디어가 있다고 생각합니다. 디자이너 도구가 많이 있습니다. 이 중 일부를 사용하면 다음을 발견합니다.

규정 된 사용 사례를 넘어서는 문제를 복잡하게합니다.

(즉, 모든 기술 데모 비디오)

나는 최근에 이러한 기술 중 일부를 평가하고 그 기술을 사용하려고 노력하면서 디자이너, 모델러 및 마법사가 나를 위해하고있는 일을 정확히 해체해야합니다 ... 그렇지 않으면 실제로 시도해야 할 때 길을 잃습니다 무엇이든 만들어진 무언가.

이것은 내가 도구와 싸워야하거나, 도구 없이도 모든 일을 스스로 할 수있을 정도로 출력과 싸워야하는 경우가됩니다-그리고 무슨 일이 일어나고 있는지에 대해 훨씬 더 잘 이해했습니다. 나는 이것이 silverlight 디자이너와 RIA 서비스 도메인 서비스 마법사를 특히 좋아한다는 것을 알았습니다.

"내 도구를 사용하기 위해 내부 작업을 파악하거나 출력의 절반을 다시 작성해야한다면이 도구가 어떤 장점이 있습니까?"

그들은 빠르지 않다

이러한 도구의 판매 포인트는 생산성을 높이는 것입니다.이 포인트는 도구를 사용하여 시간이 지남에 따라 변경 될 수 있으며 반드시 UI 디자이너에게 적용되지는 않습니다 (어떤 경우에는 여전히 그렇습니다-> 실버 라이트 디자이너를보고 있습니다) . 디자이너에서 무엇이든 드래그 앤 드롭, 크기 조정, 이동하는 것보다 훨씬 빨리 코드를 해킹 할 수 있다는 것을 알았습니다.

UI가 모델을 방해합니다

어쩌면 이것은 나뿐이지만 UML 디자인 도구를 연상시키는 것을 사용하면 라인이 교차하지 않고 모든 것을 모델링하는 것보다 화면에서 모든 것을 볼 수 있도록 모든 것을 배치하는 데 더 많은 시간을 소비하게됩니다 달성하려고합니다.

그들은 재미 없어

내가 생계를 위해 코딩하는 이유의 절반은 그것을 즐기기 때문입니다. 체크 박스를 클릭하고 콤보 박스를 선택한 다음 나오는 모든 것을 고치는 것은 재미 있지 않습니다.

나는 혼자가 아닌 것 같습니다

커뮤니티는 이러한 도구를 원하지 않는 것 같습니다 . 내가 지금 생각할 수있는 가장 좋은 예는 Entity Framework Code-First입니다.

그래서 나는 묻습니다.

  1. 디자이너 도구가 실제로 생산성을 향상 시킵니까?
  2. 그들은 재미 살인자입니까?
  3. '커뮤니티'가 실제로 더 많은 디자이너 도구를 요구합니까, 아니면 벤더가 우리를 생각하고 있습니까?

답변:


7

제 생각에는 훌륭한 디자인 툴이 생산성을 향상시키고 "재미"를 없애지 않는 것입니다. 그러나 아직 좋은 디자인 도구를 사용하지 않았기 때문에 추측에 불과합니다.

나는 개인적으로 디자인 툴을 요구하지 않았다.


2
+1 나는 "좋은 디자인 툴을 만나러 올 것"을 확실히 좋아한다. "눈알 사이의 회백질보다 낫습니다."
Ken Henderson

2
+1 마법사는 수행중인 작업이 구현 한 모델에 맞는 경우에만 유용합니다. 나는 대부분 이상한 일을하기 위해 돈을 받았기 때문에 보통 방해가됩니다. 제가 정말 좋아했던 유일한 디자인 툴은 MS Access의 그래픽 데이터베이스 및 쿼리 생성기였습니다 (이 팬이 아닌 팬에게는 충격을받을 준비가되었습니다). 관계형 데이터베이스와 SQL은 개념적으로 매우 단순하고 잘 정의되어 있기 때문에 설계 도구가 원하는 거의 모든 것을 처리 할 수 ​​있기 때문에 제대로 작동했습니다.
Bob Murphy

작업에 도움을주기 위해 스스로 구축 한 것은 "좋은 디자인 도구"입니다. 여기에는 편집기, 컴파일러, 디버거, 개인 라이브러리 등이 포함됩니다. 대부분의 "페이웨어"의 문제점은 모든 사람에게 충분히 일반적이어야하므로 일반적으로 문제에 잘 맞지 않는다는 것입니다. 그리고 그들은 게임을 멋지게 만들기 위해 귀찮게하지 않습니다! 유닉스 철학을 따르십시오. 나는 MS의 벽으로 둘러싸인 정원 툴킷에 있고 싶지 않습니다.
스펜서 Rathbun

4
  1. 나는 아마 그것이 달려 있다고 생각합니다. 경험이 부족한 개발자라면 디자인 도구를 사용하는 것이 입력하는 것보다 생산적 일 수 있습니다. VB6 초기에 디자이너를 사용하여 직접 제작하는 것보다 생산성이 높아졌다고 확신합니다. 고려해야 할 또 다른 사항은 기술이 (적어도 IDE가 그것을 제시하는 방법) 어떻게 수동 편집에 적합합니까? VB6 및 .NET WinForms는 "생성 된"코드 파일 (또는 그 일부)을 직접 편집하고 싶지 않을 것입니다. WPF 및 ASP.NET을 사용하면 상당히 경험이 부족한 개발자가 디자이너이지만 XAML / ASP를 직접 편집하는 과정을 빠르게 졸업했습니다.하고있는 작업을 알게되면 마크 업을 직접 편집하는 것이 훨씬 빠릅니다.

  2. 마크 업이 재미 있는지 여부에 따라 다릅니다. WPF와 ASP (.NET)는 재미있을 수 있습니다. VB6 / WinForms-nope는 생성 된 코드 섹션을 필요 이상으로 편집하고 싶지 않습니다.

  3. 나는 공동체가 명시 적으로 생각하지 않습니다. 새로운 것을 배울 때 디자이너는 많은 양의 학습을 쉽게 삼킬 수 있습니다.


2

평소와 같이, 그것은 의존한다

웹 서비스를 사용하여 처음 조사했을 때 Java에는 50 페이지 자습서가 있었고 .NET에는 마법사가있었습니다. 어느 것이 사용되었는지 맞춰보세요?


1

여기에도 디자인 툴이 없습니다.

나는 데이터베이스 ERD를 종이에 디자인하고, "테이블 만들기"문을 발행하는 배포자를 작성하여 원하는대로 정리하고 다시 작성할 수 있습니다. 데이터베이스 버전 관리에도 도움이됩니다.

11x17 (A3) 용지는 매우 복잡한 시스템을 설계하기에 좋은 장소가 될 수 있습니다. 좋은 지우개와 연필을 얻으십시오 (나는 Staedtler를 선호합니다 ).


1

공급 업체의 관점에서 볼 때, 모든 멋진 디자이너 도구는 할인 / 무료 학생 라이센스와 비슷한 목적으로 사용됩니다. 최소한의 노력과 비용으로 무언가 를 만들 수 있습니다 . 일단 투자하면 다른 사람을 배우지 않고 도구를 사용하여 기술을 확장하는 법을 배우게됩니다.

도구가 합법적 인 생산 용도를 가지고 있지 않다는 것은 아닙니다. 해야 생성 된 코드를 검토 할 가치가 그것에서 배운다. 불행히도 Ken Henderson이 지적했듯이이 코드는 종종 읽을 수 없으며 향후 작업을위한 템플릿으로 사용하려는 것이 아닙니다. 프로그래밍 WCF 서비스 의 여러 섹션에서 필자가 직접 코드를 작성하거나 Visual Studio에서 생성하는 방법을 설명합니다. 불가피하게, 생성 된 옵션에는 외부 코드를 제거하기위한 후속 섹션이 필요합니다.


0

디자이너 도구가 실제로 생산성을 향상 시킵니까?

프로젝트가 단순 하고 너무 복잡하지 않으면 가능합니다. 내 경험 당신은 실제 문제를 구현 / 해결하려고 시도하자마자 벽에 부딪쳤다.

그들은 재미 살인자입니까?

VS 2008이 30 분마다 추락 할 때 재미 있고 살해되는 WF (워크 플로) 및 WPF.

'커뮤니티'가 실제로 더 많은 디자이너 도구를 요구합니까, 아니면 벤더가 우리를 생각하고 있습니까?

MS가 발표 한 많은 툴은 최근 개발자를 유지하려는 필사적 인 시도 인 것 같습니다. 스마트 폰 시장에서 전투가 벌어지고 있습니다. 개발자, MS, Google 또는 Apple의 하트를 누가 이길 수 있습니까?


0

마법사를 클릭하는 방법 만 알고있는 개발자와 마법사가 생성 한 코드를 알고 개발자가 에지를 위해 수정할 수있는 개발자를 구분하기 위해 사용하던 시절에도 항상 그 길을 가졌습니다.

더 많은 도구, 마법사 및 디자이너가 덮개 아래에서 작업을 수행하여 날카로운 부분을 자르지 못하게하는 것은 알고 싶지 않거나 폭이 넓지 않은 개발자에게 도움이됩니다. 생성 된 코드를 이해하는 경험이나 기술 나는 컴퓨터가 당신을 위해 원하는 것과 당신이 스스로해야 할 일 사이에 달콤한 지점이 있다고 생각합니다. 대안으로 폼에 블록을 끌어서 놓는 것에 기초하여 언어를 프로그래밍하는 것입니다. (도메인 특정 환경에서 일한 적이 있었지만 사용하고 싶지 않습니다!)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.