편집하다:
여러 언어로 작업 할 때 개별 작업을 관리하는 방법
일상적인 작업 처리에서 몇 가지 다른 프로그래밍 언어를 사용합니까?
- 각 언어로 작업 할 때 정신적으로 변화합니까?
- 우선 순위를 정하고 각 작업을 언어별로 따로 보관하십시오.
- 언어 / IDE / 환경 사이에서 매끄럽게 전환하는 각 작업의 진행 상황에 따라 단계별로 코딩합니까?
- 모든 언어에 동일한 코딩 스타일 / 컨벤션을 적용합니까 (구문이 아님)?
관련 :
편집하다:
여러 언어로 작업 할 때 개별 작업을 관리하는 방법
일상적인 작업 처리에서 몇 가지 다른 프로그래밍 언어를 사용합니까?
관련 :
답변:
오늘 저는 Java, Python, C ++ 및 SQL을 작성했습니다. 그리고 나는 2 시간 미만 동안 일했습니다.
이 규칙을 정기적으로 수행하면 정신적 변화가 무시됩니다. 멀티 태스킹과는 아무런 관련이 없습니다. 그것은 잠시 동안 걷고, 차를 운전하고, 자전거를 운전하고, 수영하는 것과 같습니다. 그것들은 순차적이기 때문에 문제 없습니다.
어쨌든 요점은 다음 작업으로 이동하기 전에 한 작업을 완료하는 것입니다. 구체적인 기능, 수정 등의 측면에서 작업을 정의하는 경향이 있습니다. 이 작업은 종종 하나의 언어로 수행되지만 여러 언어가 필요할 수 있습니다. 예를 들어, JNI로 작업 할 때 일반적으로 Java와 기본 측면을 동시에 변경합니다.
일부 답변 :
언어 / IDE / 환경 사이를 매끄럽게 전환하는 각 작업의 진행 상황에 따라 단계별로 코딩합니까?
IDE, 편집기, 환경간에 완벽하게 전환 할 수 있어야합니다. 보통 나는 항상 그것들을 모두 열어 둡니다.
모든 언어에 동일한 코딩 스타일 / 컨벤션을 적용합니까 (구문 아님)?
두 언어가 사용하는 인터페이스 인 경우 예-변수 이름과 유사해야합니다. 그렇지 않으면 해당 언어의 일반적인 코딩 스타일을 적용하려고합니다.
여기에 패턴이 형성됩니다.
그래서 저에게는 자바 스크립트, HTML 및 CSS, C #, Transact-SQL 및 Windows Powershell이 있습니다.
아니요, 언어의 규칙에 따라 프로그래밍 포인트를 만듭니다. 간단한 예 :
// C#
int MyFunction()
{
return 0;
}
// Javascript
function myFunction() {
return 0;
}
시각적으로 다른 코딩 규칙을 사용하면 언어 간 정신 전환에 도움이됩니다. 반대로, 내 코드가 각 언어에서 동일하게 보이면 코딩하는 언어를 잊어 버리면 구문 오류가 발생합니다.
SK-logic에서 알 수 있듯이, 잘 선택된 도메인 특정 언어를 사용하는 경우 정신 전환 은 문제가되지 않습니다. 그러나 종종 언어를 선택할 수 없으므로 때때로 전환하는 데 시간이 걸립니다. 내 경험상 어려움은 프로그래밍 스타일을 전환하는 것보다 구문을 전환하는 데 더 있습니다. 내가 항상 경험하는 유일한 성가신 변화는 주석 스타일의 변화입니다 . 코드를 빠르게 변경하기 위해 파일을 열면 종종 다음과 같이 진행됩니다.
# what
// the
; f***
% is
-- the one-line comment character or sequence?
가능한 적은. 일반적으로 1. Python과 2. HTML 템플릿, 3. HTML + CSS, 때로는 4. Javascript가 포함됩니다. 파이썬에서 JS로 전환하려면 다른 도구를 사용해야하기 때문에 정신적으로 전환해야합니다.
언어 자체가 아니거나 종교에 따라 다를 수 있지만 HTML + CSS와 별도의 HTML + CSS를 추가합니다. 다른 도구를 정신적으로 이동하고 다른 도구를 사용해야합니다. 자바 스크립트. 디자인 관점에서 HTML + CSS를 사용하여 페이지를 요구 모형처럼 보이게 만드는 것은 HTML 템플릿을 만드는 것과 다른 사고 방식입니다. 그러나 Javascript보다 Python에 더 직교하므로 프로그래밍 마인드를 다른 것으로 전환해야합니다. :)
매일 사용합니다 :
또한 Python, Java 및 XML (수를 계산합니까?)을 가끔 사용합니다. 내 직업은 다양한 웹 사이트를 편집하는 것입니다.이 웹 사이트는 모든 웹 언어로 작성 될 수 있으며 (Perl 언어를 한 번도 포함) 매우 다른 패러다임 / 템플릿 (절차, MVC, OOP 등)을 사용할 수 있습니다.
질문에 대답하기 위해-주로 메모장 ++을 나열된 첫 번째 5 개에 대한 IDE로 사용하고 그 다음 Visual Studio for Asp.Net을 사용합니다.
줄 끝에 세미콜론이 필요한지 여부 또는 루프에 중괄호가 있는지 여부를 기억하여 각 언어간에 빠르게 전환하는 데 어려움이있을 수 있습니다. VBScript에서 JScript로 전환하는 것은 절대적으로 최악입니다. 파일은 모두 .asp로 끝나고 언뜻보기에는 상당히 유사하므로 오류가 발생하는 이유를 해결하는 데 시간이 걸립니다.
현재 Ruby, PHP, Java, C 및 JavaScript를 작성하고 있으며 매일 각각 1 시간 이상 작성합니다. 주된 문제는 실제로 관련없는 프로젝트를위한 시간을 찾는 것입니다.
제 작업 스타일은 오랜 시간 동안 일하는 것을 좋아합니다. 불행히도, 이것은 내가 한 가지만 가지고 있다면, 코드 조각으로 정신 블록을 만날 때 그것을 극복하는 데 오랜 시간이 걸릴 것입니다. 휴식을 취하는 것도 도움이되지 않습니다. 다른 프로젝트, 특히 다른 언어를 사용하면 원래 언어로 돌아올 때마다 수단을 사용할 때마다 전환 할 수 있으므로 즉시 해결책이 있습니다.
따라서 그렇습니다. 정신적 인 변화가 있고 그것이 훨씬 더 생산적이라고 생각합니다.
작업 관리자 (gTasks for Android)를 사용하고 각 프로젝트마다 별도의 할 일 목록이 있습니다. 프로젝트에 여러 언어가 필요한 경우 분리하지 않습니다. 이것은 일반적으로 어떤 방식 으로든 강하게 연관되기 때문입니다. 예를 들어 AJAX 작업을 수행하는 JavaScript 및 Ruby입니다. 언어가 기술적으로 동일한 프로젝트에 사용되지만 프로젝트가 너무 커서 본질적으로 관련이없는 경우 별도의 프로젝트로 계산합니다.
일반적으로 우선 순위는 "모든 작업이 가장 많은 목록"이지만 문제가 발생하면 항상 전환됩니다.
약간의 혼합 :
따로 : 저에게있어 가장 큰 과제는 실제로 스타일 언어를 바꾸는 것입니다. Ruby와 함께 SASS를 코딩 한 다음 CSS로 다시 전환해야 할 때 경쟁하기가 매우 어렵습니다. 어느 정도는 HAML / HTML 및 JSON / XML과 동일한 문제가 있습니다.
나는 ISP 측면에 대한 응용 프로그램을 작성하고, 종종 프로그래밍에 익숙한 많은 네트워크 엔지니어들에 의해 작성된 "편안한 일을한다"라는 문화가있다. 저는 매주 아주 잘 작성된 프로그램을 정말 끔찍하게 다루어야합니다. 내가 자주 만날 수있는 일 ...
회사에는 다른 언어 (.net, VB, Phyton, Rails 등)가 있지만 아직 작업하지 않아도됩니다.
편집을 위해 편집 ...
언어간에 작업 할 때는 정신적으로 전환해야합니다. 대부분 내가 잃어버린 것은 구문입니다. 참고 도서 모음을 준비합니다. 다른 언어의 사고 방식으로 돌아가려면 30 분 정도 걸립니다. 언어에 대한 구문이 모호할수록 변화가 길어집니다. Perl을 한 번만 건드리지 않으면 Java에서 Perl로 전환하는 데 가장 오래 걸린다는 것을 알았습니다. 더 많이할수록 더 쉽게 얻을 수 있습니다.
나는 C (임베디드), C ++ (데스크톱), Python, Matlab 및 VHDL (일종의 하드웨어 프로그래밍 언어)을 자주 같은 날에 자주 사용합니다. 내 환경에서는 이런 종류의 언어 손재주가 필자의 관점에서 필수적이다.
특정 프로젝트에서 필요한 모든 것을 한 언어로 효율적으로 수행 할 수없는 경우가 종종 있습니다. 예를 들어 임베디드 C와 VHDL은 모두 저수준이므로 Python을 사용하여 결과를 구문 분석하거나 코드를 생성하는 경우가 많습니다.
그들 사이를 빠르게 전환하는 것은 잠시 후에 문제가되지 않습니다. 해머에서 드라이버로 전환하는 것과 같습니다. 작업에 적합한 도구입니다.
작업 정의 방법에 따라 달라집니다. 저는 매일 Microsoft Surface 응용 프로그램을 개발하기 위해 C #을 사용합니다. Java 또한 매일 Android 애플리케이션에 사용합니다. 그러나 나는 나 자신을 교육하려고 노력하고 R, Ruby 및 Objective-C를 사용하기 시작했습니다. 때로는 SQL도 필요하며 스크립트 언어와 다른 언어를 질문에 포함 시키면 JavaScipt, SPARQL 및 BeanShell도 있습니다.
각 언어의 코딩 규칙을 따르려고하지만 특히 Java와 C # 사이에서 중괄호와 C #의 대문자 메소드 이름으로 인해 어려움이 있습니다.
public void test() {
...
}
vs.
public void Test()
{
...
}
.equals
은 자바 스크립트에서 문자열을 비교하려고 할 때 입니다. 적어도 나는==
자바에서 사용하는 대신 항상 그런 식으로 잘못합니다 .