프로그램 언어의 주파수 코드입니다. 프로그램 코드

프로그램이 계산, 결과 표시, 버튼 누르기, 목록에서 줄 선택 등의 사용자 작업에 응답하는 등 지정된 작업을 수행하려면 다음이 필요합니다. 프로그램 코드.

프로그램 코드 프로그래밍 언어의 단어와 기호 집합입니다.

알파벳 - 데이터와 그에 대한 작업을 표시하기 위해 언어로 채택된 문자, 숫자 및 기호의 완전한 세트입니다.

언어 알파벳 비주얼 베이직다음 문자 세트를 포함합니다:

라틴 알파벳의 대문자(A - Z) 및 소문자(a - z)

0부터 9까지의 숫자;

산술 연산 기호(우선순위 오름차순): +, -, *, /, |, ^;

관계 연산의 징후: =,<, >.

구두점 및 구분 기호: ,  . : ; ();

언어의 알파벳에는 다음이 포함됩니다. 예약된로 사용할 수 없는 단어 이름변수 또는 프로시저. 예약어의 예: Dim, Sub, Integer 등 기본적으로 파란색 글꼴은 Visual Basic 코드 편집 창에서 키워드를 강조 표시하는 데 사용됩니다.

단어와 기호는 철자 및 구두점 오류 없이 언어 규칙에 따라 엄격하게 작성되어야 합니다. 컴퓨터가 프로그램을 명확하게 이해하고 실행할 수 있도록 하는 것은 정확한 글쓰기입니다.

코드 창

프로그램 코드는 코드 창에 작성됩니다. 각 양식에는 이러한 창이 있습니다.

코드 창 열기:

편도 - 창문에서 프로젝트 탐색기딸깍 하는 소리 마우스 오른쪽 버튼으로 클릭필요한 양식을 작성하고 열리는 메뉴에서 선택하십시오. 코드를 표시합니다.

메모: 코드 창은 양식과 연결되지 않을 수 있습니다. 별도의 코드 창을 호출합니다. 기준 치수. 프로젝트 탐색기 창의 모듈은 그룹으로 그룹화됩니다. 모듈. 모듈 코드로 창을 열려면 창에서 다음을 수행해야 합니다. 프로젝트 탐색기모듈 이름을 두 번 클릭합니다.

방법 2 - 양식의 컨트롤 요소나 양식 창의 양식 자체를 두 번 클릭합니다.

메모: 이는 코드 창을 열 뿐만 아니라 이벤트 처리 프로시저도 생성합니다(아래 참조).

코드 창 구조:

쌀. 7. 프로그램 코드 창.

    컨트롤 목록

    제어 이벤트 목록

    절차(코드)

절차

냉장고를 열면 램프가 켜지고 수도꼭지를 열면 물이 흘러나오기 때문에 냉장고를 여는 이벤트가 발생하면 하나의 절차가 수행되고 수도꼭지를 여는 이벤트가 또 다른 절차를 수행한다고 할 수 있습니다. 절차. 비슷하게 프로그램 코드각 절차는 고유한 특정 작업을 수행하는 별도의 절차로 구성됩니다. 예를 들어 한 절차에서는 램프를 켜고 다른 절차에서는 물을 켭니다(펌프).

비주얼 베이직 - 절차적 프로그래밍 언어.이는 그 안에 코드 블록을 생성한 다음 이름으로 참조할 수 있음을 의미합니다. 코드 블록에 이름이 있으면 다음과 같은 이름을 가질 수 있습니다. ~라고 불리는완료되었습니다. 프로그램 안의 프로그램과 같습니다. 대규모 프로그램에 "살아있는" 작은 프로그램을 호출합니다. 다음과 같은 경우에 기능합니다.그들은 어떤 값을 반환하고 서브루틴,값을 반환하지 않는 경우.

서브루틴과 함수를 사용하면 프로그래밍이 더 쉽고 빨라지며, 작성한 코드의 안정성이 높아집니다. 자신만의 루틴과 기능을 만드는 것이 개발의 첫 번째 단계입니다. 캡슐화그리고 재사용 가능한 코드. 캡슐화란 객체의 속성과 메소드 구현을 외부 인터페이스 뒤에 숨기는 것을 의미합니다.

절차 (서브루틴)은 일반적으로 작은 작업을 해결하는 데 사용되는 별도의 프로그램 코드 조각으로, 전체 프로그램이 분할되는 논리적으로 구성된 작은 프로그램 블록입니다.

프로시저가 지정된 프로그램 블록 내에서만 실행될 수 있고(예: 이 형식으로만) 다른 프로그램 블록에서 호출할 수 없는 경우 해당 프로시저는 로컬 프로시저입니다. 로컬 프로시저는 Private Sub 키워드를 사용하여 지정됩니다.

다른 프로그램 블록(예: 다른 형식)에서 프로시저를 호출할 수 있는 경우 해당 프로시저는 전역적입니다. 전역 프로시저는 Public Sub 키워드를 사용하여 지정됩니다.

기본적으로 Sub 키워드 앞에는 예어, 이는 전역 절차입니다.

절차는 다음과 같습니다.

    이벤트 절차. 컨트롤(또는 폼)에서 이벤트가 발생할 때 실행됩니다. 이벤트 프로시저는 항상 일부 개체와 연결됩니다. 개체의 이벤트 프로시저를 호출하려면 해당 개체를 마우스 왼쪽 버튼으로 두 번 클릭하면 됩니다.

    임의의 절차. 이벤트와 연관되지 않으며 언제든지 다른 프로시저에서 호출하고 실행할 수 있습니다. 동일한 프로그램 블록이 프로그램의 모든 형태로 발생하는 경우 글로벌 공통 프로그램의 형태로 한 위치에 한 번만 작성할 수 있습니다. 일반 프로그램의 실행은 객체나 이벤트와 연관되지 않고 다른 프로그램 블록에서 접근할 때 발생합니다. 동일한 양식에서 일반 프로시저 호출: 프로시저이름(ParameterList). 다른 양식에서 일반 프로시저 호출: 객체. 프로시저이름(ParameterList). 일반적인 절차는 로컬 프라이빗 및 글로벌 퍼블릭이 될 수 있습니다.

절차 구조

절차는 다음 요소로 구성됩니다.

    절차 헤더 - 절차의 시작, 유형, 목적(이벤트)을 표시합니다.

Command1이라는 버튼을 클릭했을 때 실행되는 프로시저 제목의 예입니다.

    단어 사적인즉, 프로시저가 이 양식이나 모듈에만 속하며 다른 컨테이너(양식, 모듈)에서는 사용할 수 없음을 의미합니다. 이 단어를 생략하면 해당 절차가 다른 컨테이너에 공개됩니다.

    보결- 절차.

메모: 절차 외에도 기능이 있습니다. 함수는 이벤트와 연관되지 않으며 추가로 작업 결과(계산)를 반환할 수 있습니다.

    제어 요소(또는 양식 이름): 속성에 저장된 요소의 정확한 이름을 지정합니다. 이름.

    이벤트- 행사명. 다음은 몇 가지 이벤트입니다.

    클릭 - 마우스 클릭;

    Dbl클릭 - 더블 클릭생쥐;

    KeyPress - 키 누르기;

    UnLoad - 양식 언로드(양식을 닫을 때 프로그램 종료)

    활성화 - 양식 활성화(양식을 클릭하면 제목이 강조 표시됨)

    비활성화 - 양식을 비활성화합니다(다른 양식을 클릭할 때).

    초기화 - 형태의 객체를 생성할 때.

    크기 조정 - 양식 크기를 변경할 때

    종료 - 양식을 삭제하는 순간

    인수- 처리를 위해 프로시저에 전달된 초기 데이터입니다.

사용자 정의 프로시저에는 다음과 같은 헤더가 있습니다.

프로시저 이름있어야 한다 고유한는 문자로 시작해야 하며 공백이나 밑줄 이외의 문자를 포함할 수 없습니다. 프로시저는 실행되어야 할 때 이름으로 호출됩니다.

    절차 종료 - 프로시저의 프로그램 코드 종료: End Sub

메모: 기능의 경우: 기능 종료

    절차 본문 -제목과 결말 사이의 줄입니다. 그들의 수는 무제한입니다. 해당 줄에는 프로시저가 호출될 때(이벤트 발생) 실행되어야 하는 명령이 포함되어 있습니다.

서브루틴(보결) - 블록 내에서 프로그램 코드를 실행하고 값을 반환하지 않는 프로시저입니다. 간단한 서브루틴의 구문은 다음과 같습니다.

( 사적인 | 공공의 ) 보결 서브메인 ()

..코드 줄 보결

서브루틴의 범위

하위 - 프로시저 유형(즉, 서브루틴)

서브메인서브루틴에 주어진 이름;

End Sub - 서브루틴 코드 블록의 끝입니다.

프로시저 만들기

프로시저를 생성하려면 다음을 수행합니다.

    편도 - 원하는 컨트롤이나 양식을 두 번 클릭합니다. 코드 창이 열리고 절차의 제목과 끝이 표시됩니다. 다른 이벤트가 필요한 경우 코드 창 오른쪽 상단에 있는 목록을 사용하여 선택합니다.

    방법 2 - 코드 창을 열고 도구 → 프로시저 추가 → 프로시저 이름 및 매개변수 지정 → 확인으로 이동합니다.

    3방향 - 코드 창을 열고 키보드에서 필요한 줄을 입력합니다.

결과는 다음과 같습니다.

개인 하위 Command1_Click()

실행을 위한 호출 절차

    이벤트 프로시저가 실행되려면 이벤트가 발생해야 합니다.

    임의의 프로시저를 실행하려면 다른 프로시저의 본문에 이 프로시저의 이름을 지정하십시오.

개인 하위 Command1_Click()

여기서 Command1 버튼을 클릭하면 Click 이벤트가 발생하고 Kvadrat 프로시저가 호출되어 실행됩니다.

프로시저 코드는 한 줄씩, 위에서 아래로 실행됩니다.

기능 (기능) - 이는 코드 줄을 실행하고 일부 값을 반환하는 프로시저입니다. 간단한 함수의 구문은 다음과 같습니다.

기능 FunctionName()을 데이터 유형으로 사용

... 윤곽암호

함수 이름 = 반환 값기능 종료

기능 범위;

Function은 함수임을 나타내는 Visual Basic 키워드입니다.

함수 이름 () - 함수에 주어진 이름;

AS는 데이터 유형 지정 앞에 나오는 Visual Basic 키워드입니다.

데이터 형식반환 값 데이터 유형;

반환 값함수 이름에 할당되어야 하는 값(이것은 매우 중요한 포인트입니다!)

End Function - 이 코드 블록의 끝입니다.

오늘날 개인뿐만 아니라 많은 회사가 자체 웹 사이트를 가질 필요성을 느끼기 때문에 인터넷 프로젝트 개발 및 홍보 주제에 대한 정보가 매우 요구됩니다. 많은 사람들이 질문에 관심이 있습니다 - 자신만의 것을 만드는 방법 웹사이트, 프로그램 코드그것은 집의 기초와 같습니까? 웹 개발 주제를 탐구하여 이 문제를 이해해 봅시다.

웹사이트는 단순히 텍스트, 링크, 그림, 다채로운 배너의 모음이 아니라 사용자의 컴퓨터나 서버 측에서 실행되는 프로그램 코드이기도 합니다. 그리고 필요한 형식의 이미지를 생성하면 필요한 해결 방법오늘날 거의 모든 사람이 인터넷이나 인기 있는 이미지에서 기성 이미지를 사용할 수 있습니다. 그래픽 편집기, 그런 다음 생성 사이트 코드비전문가에게는 상당한 어려움이 따릅니다.

응용 프로그램과 인터넷 프로젝트 전체의 품질은 사이트를 개발하는 프로그래머의 기술에 크게 좌우되며, 프로그램 코드에는 웹 페이지의 로딩 속도와 전체 작업의 다른 여러 측면에 큰 영향을 미치는 오류가 포함될 수 있습니다. 보안과 관련된 사이트를 포함합니다. 따라서 코드의 오류를 감지하고 제거하는 것은 웹 사이트를 만들 때 필수 구성 요소입니다. 복잡한 기업 웹사이트의 개발은 전문가(전문가가 아닌 경우)에게 맡기는 것이 가장 좋습니다. 왜냐하면 일부 오류는 감지하기 어렵고 그 중 많은 오류로 인해 로딩 속도가 느려지고 브라우저에서 웹 페이지가 잘못 표시될 수 있기 때문입니다. 인터넷 사용자의 컴퓨터. 너무 많은 긴 로딩사이트 방문자가 유출되고 트래픽 품질이 저하되어 상업용 인터넷 프로젝트 사용의 이익과 효율성이 저하될 수 있습니다.

HTML과 CSS를 먼저

웹 문서의 기본은 HTML 마크업 언어로 작성된 코드입니다. 마크업 언어를 프로그래밍 언어와 혼동해서는 안 되며, 실제 차이점이 무엇인지 자세히 기록되어 있습니다. 원칙적으로 HTML이 사이트 개발자에게 제공하는 명령 세트를 사용하면 요소 배열(블록 마크업), 제목, 단락, 표, 이미지 등 정적 웹 문서에 필요한 모든 매개변수를 설정할 수 있습니다. 그리고 CSS를 사용하여, HTML용 특수 추가 기능을 사용하면 나열된 모든 마크업 개체의 위치를 ​​지정하고 해당 스타일(색상, 크기, 형식 등)을 변경할 수 있습니다.

그런 다음 자바스크립트

대화형 및 애니메이션 요소(예: 배너, 티커, 양식) 피드백, 서버 측 또는 클라이언트 측 프로그래밍 언어로 작성된 스크립트 및 코드가 있기 때문에 웹 페이지가 작동합니다. 해당 언어를 사용하여 개발된 스크립트는 매우 인기가 있습니다. 자바스크립트 프로그래밍. 이러한 클라이언트 스크립트는 작업 시 서버의 기능을 사용하지 않으며 사용자 컴퓨터 측, 즉 브라우저에서 실행됩니다. 그것에 의하여 자바스크립트 애플리케이션단순함이 특징이며 고속일하다.

그리고 마지막으로 PHP

예를 들어 포럼이나 방명록과 같이 복잡하고 방대한 코드를 작성해야 하는 경우 프로그래머는 도움을 받기 위해 서버측 프로그래밍 언어, 특히 . PHP 코드는 서버 측에서 실행되므로 연결 속도에 따라 작업이 약간 느려질 수 있습니다. 원격 컴퓨터그리고 작업량의 정도. 와 함께 PHP를 사용하여및 SQL 명령(관계형 데이터베이스를 위한 특수 쿼리 언어)을 사용하여 사이트와 데이터베이스의 상호 작용을 구성하고 대화형 인터넷 프로젝트(포럼, 온라인 상점, 게시판, 다양한 디렉토리 등)를 만들 수 있습니다.

어떤 언어를 배워야 할지 너무 걱정하지 마세요.많은 초보 프로그래머는 소프트웨어 코드 작성 방법을 처음 배우기 시작할 때 언어를 선택하는 데 어려움을 겪습니다. 정보 구성의 구조와 논리를 배우는 데 있어서 실제로 선택하는 언어는 중요하지 않습니다. 이러한 기술은 훨씬 더 중요하며 어떤 프로그래밍 언어로도 배울 수 있습니다.

  • 언어를 선택할 때 프로그램 코드를 생성하려는 목적에 초점을 맞춘 다음 시작 언어를 선택하십시오. 예를 들어 웹사이트를 개발하려면 먼저 HTML을 배우고 CSS, JavaScript, PHP로 보완해야 합니다. 컴퓨터용 프로그램을 만들고 싶다면 C++나 기타 기본 프로그래밍 언어를 배우기 시작하세요.
  • 전문 프로그래머가 되면 원래 배운 언어를 업무에 절대 사용하지 않을 것이라는 사실을 금방 깨닫게 될 것입니다. 대신, 항상 문서화와 실험을 통해 새로운 언어를 계속해서 배우게 될 것입니다.

선택한 언어와 관련된 무료 온라인 리소스를 찾아보세요.인터넷은 귀하가 배우기로 선택한 언어에 대한 무료 튜토리얼, 코스, 비디오가 가득한 보물상자입니다. 거의 모든 기초 언어의 기초를 하루 만에 배울 수 있습니다.

  • 다음은 Bento, CodeAcademy, Code.org, html.net, Khan Academy, Udacity, W3Schools 등 몇 가지 인기 있는 사이트입니다.
  • wikiHow에는 다양한 언어에 대한 다양한 시작 튜토리얼도 있습니다.
  • YouTube에서는 거의 모든 언어에 대한 교육 동영상을 찾을 수 있습니다.
  • Stack Exchange는 전문 프로그래머가 사용자의 질문에 답변하는 가장 인기 있는 포럼 중 하나입니다.
  • 좋은 텍스트 편집기를 다운로드하세요.많은 프로그래밍 언어에서는 외부 사용을 허용합니다. 텍스트 편집기프로그램 작성용. 들여쓰기와 코드 마크업을 표시하는 텍스트 편집기를 찾으세요.

    • 널리 사용되는 프로그램으로는 Notepad++(Windows), TextWrangler(OS X) 및 JEdit(모든 시스템)이 있습니다.
  • 필요한 컴파일러를 다운로드하십시오.일부 프로그래밍 언어에서는 작성한 소스 코드를 표시하기 위해 컴파일러가 필요합니다. 컴파일러는 소스 코드를 동등한 저수준 언어 프로그램으로 변환한 다음 컴퓨터에서 처리합니다. 많은 컴파일러는 오픈 소스이며 무료 프로그램. 컴파일러 사용이 필요한 언어는 다음과 같습니다.

    • 기초적인
    • 포트란
    • 파스칼
  • 첫 번째 프로젝트를 시작하세요.새로운 기술을 시험해 볼 수 있는 좋은 입문 프로젝트를 선택하세요. 인터넷에는 이 주제에 대한 많은 제안과 튜토리얼이 있습니다. 예를 들어, HTML로 간단한 웹사이트를 만들고, PHP로 간단한 데이터베이스와 기능을 만드는 것부터 시작할 수 있습니다. 간단한 프로그램컴파일러 사용이 필요한 모든 언어에서.

    목적

    원천객체 코드를 생성하는 데 사용되거나 인터프리터에 의해 실행됩니다. 개체 코드는 변경되지 않고 소스 코드만 변경된 다음 다시 개체 코드로 변환됩니다.

    소스 코드의 또 다른 중요한 목적은 프로그램을 설명하는 것입니다. 프로그램의 텍스트를 기반으로 해당 동작의 논리를 재구성할 수 있습니다. 주석은 소스 코드를 더 쉽게 이해하기 위해 사용됩니다. 소스 코드 문서를 자동으로 얻을 수 있는 도구(소위)도 있습니다. 문서 생성기.

    또한 소스 코드에는 다른 용도도 많이 있습니다. 교육 도구로 사용할 수 있습니다. 초보 프로그래머는 기존 소스 코드를 검토하여 프로그래밍 기술과 방법론을 배우는 것이 유용할 수 있습니다. 또한 간결하고 명확한 성격으로 인해 숙련된 프로그래머 간의 의사소통 도구로도 사용됩니다. 나누는개발자는 코드 관리를 프로그래머 경험 개선에 기여하는 요인으로 자주 언급합니다.

    프로그래머는 소스 코드를 모듈 형태로, 있는 그대로 또는 수정하여 한 프로젝트에서 다른 프로젝트로 이동하는 경우가 많습니다. 이를 코드 재사용이라고 합니다.

    소스 코드는 소프트웨어를 다른 플랫폼으로 포팅하는 과정에서 중요한 구성 요소입니다. 소프트웨어의 소스 코드가 없으면 포팅이 너무 어렵거나 완전히 불가능합니다.

    조직

    소프트웨어 일부(모듈, 구성 요소)의 소스 코드는 하나 이상의 파일로 구성될 수 있습니다. 프로그램 코드는 반드시 하나의 프로그래밍 언어로만 작성될 필요는 없습니다. 예를 들어, 최적화 목적으로 C 언어로 작성된 프로그램에는 어셈블리 언어로 된 코드 삽입이 포함되는 경우가 많습니다. 프로그램의 일부 구성 요소나 부분이 다른 언어로 작성된 다음 라이브러리 연결이라는 기술을 사용하여 단일 실행 가능한 모듈로 조립될 수도 있습니다( 도서관 연결).

    복잡한 소프트웨어조립할 때 수십 또는 수백 개의 소스 코드 파일을 사용해야 합니다. 이러한 경우 빌드를 단순화하기 위해 일반적으로 소스 코드 파일 간의 종속성에 대한 설명을 포함하고 빌드 프로세스를 설명하는 프로젝트 파일이 사용됩니다. 이러한 파일에는 컴파일러 및 디자인 환경에 대한 옵션도 포함될 수 있습니다. 다양한 디자인 환경에서는 다양한 프로젝트 파일을 사용할 수 있으며 일부 환경에서는 이러한 파일이 텍스트 형식일 수 있어 프로그래머가 범용 텍스트 편집기를 사용하여 직접 편집하기에 적합합니다. 다른 환경에서는 특수 형식이 지원되며 생성 및 파일 수정은 특수 도구 프로그램을 사용하여 수행됩니다. 프로젝트 파일은 일반적으로 "소스 코드"라는 용어에 포함됩니다. 대부분의 현대 언어 환경에서는 프로젝트에 포함된 다른 소스 코드의 복잡성에 관계없이 프로젝트 파일을 사용해야 합니다. 종종 소스 코드는 다양한 데이터가 포함된 리소스 파일을 의미하기도 합니다. 그래픽 이미지, 프로그램을 빌드하는 데 필요합니다.

    소스 코드 작업을 용이하게 하고 프로그래머 팀의 코드 공동 작업을 위해 버전 제어 시스템이 사용됩니다.

    품질

    인간과 달리 컴퓨터에는 "잘 작성된" 코드나 "잘못 작성된" 코드가 없습니다. 그러나 코드 작성 방법은 소프트웨어 유지 관리 프로세스에 큰 영향을 미칠 수 있습니다. 소스 코드의 품질은 다음 매개변수로 판단할 수 있습니다.

    • 코드 가독성(코드에 대한 주석 포함)
    • 지원, 테스트, 디버깅 및 오류 수정, 수정 및 이식 용이성;
    • 자원의 경제적 사용 - 메모리, 프로세서, 디스크 공간;
    • 컴파일러가 출력한 주석이 없습니다.
    • "쓰레기" 없음 - 사용되지 않는 변수, 접근할 수 없는 코드 블록, 불필요한 오래된 주석 등
    • 적절한 오류 처리;
    • 이식성 - 핸들러(컴파일러, 인터프리터, 번역기)를 사용하는 능력 다른 버전, 또는 심지어 다른 OS;
    • 인터페이스 국제화 가능성.

    실행 불가능한 소스 코드

    무료 소프트웨어에 대한 Copyleft 라이센스에는 소스 코드 배포가 필요합니다. 이러한 라이선스는 소프트웨어가 아닌 저작물(예: 문서, 이미지, 컴퓨터 게임용 데이터 파일)에도 자주 사용됩니다.

    그러한 경우, 소스 코드는 편집에 선호되는 저작물의 형태로 간주됩니다. 소프트웨어 이외의 라이센스에서는 "투명 형식" 버전이라고도 합니다. 예를 들면 다음과 같습니다.

    • 데이터 손실로 압축된 파일의 경우 - 무손실 버전
    • 벡터 이미지 또는 3차원 모델을 렌더링하기 위한 용도(각각 벡터 버전 및 모델)
    • 텍스트 이미지의 경우 - 텍스트 형식의 동일한 텍스트입니다.
    • 음악용 - 음악 편집기 내부 형식의 파일입니다.
    • 마지막으로 지정된 조건을 충족하거나 더 편리한 버전이 존재하지 않는 경우 파일 자체입니다.

    또한보십시오


    위키미디어 재단. 2010.

    다른 사전에 "소스 코드"가 무엇인지 확인하십시오.

      영화의 원본 자료: 네거티브, 대본, 영화 대조 사본, 음악 더빙 원본 자기 음반, 노이즈, 비디오 음반 마스터, CD 등 동의어: 텍스트가 인터프리터에 의해 직접 실행되거나... ... 금융 사전

      사람이 쓴 텍스트 컴퓨터 프로그램모든 프로그래밍 언어에서 비즈니스 용어 사전. Akademik.ru. 2001년... 비즈니스 용어 사전

      원천- - 통신 주제, 기본 개념 EN 소스 코드... 기술 번역가 가이드

      원천- 3.1.13 소스 코드: 사람이 읽을 수 있는 형식(프로그래밍 언어)으로 표현된 컴퓨터 프로그램을 테스트하기 전에 기계가 읽을 수 있는 형식(객체 코드)으로 변환한 것... ... 규범 및 기술 문서 용어에 대한 사전 참고서

      원천- 소스 텍스트 언어... 설명번역사전

      소스 코드: 소스 코드는 사람이 작성한 컴퓨터 프로그램 텍스트입니다. Duncan Jones 감독의 소스 코드 테크노 스릴러 ... Wikipedia

      이 용어에는 다른 의미가 있습니다. 소스 코드를 참조하세요. 소스 코드 소스 코드 ... Wikipedia

      이 기사에는 정보 출처에 대한 링크가 없습니다. 정보는 검증 가능해야 하며, 그렇지 않으면 질문을 받고 삭제될 수 있습니다. 당신은 할 수 있습니다... 위키피디아

      OSI(오픈 소스 이니셔티브) 로고 오픈 소스 소프트웨어는 오픈 소스 소프트웨어입니다. 원천 생성된 프로그램즉, 보고 변경할 수 있습니다. 이것은... ... 위키피디아

      소스 프로그램(소스 코드)- 48) 소스 프로그램(소스 코드) 프로그래밍 시스템에 의해 하드웨어(객체 코드 또는 객체 언어)에 의해 실행 가능한 형태로 변환될 수 있는 하나 이상의 프로세스에 해당하는 표현(범주 6, 7 및 9) ... 공식 용어

    양질의 코드 작성을 위한 15가지 규칙

    나쁜 코드를 작성하는 방법은 무수히 많습니다. 다행스럽게도 코드 품질 수준을 높이려면 15가지 규칙만 따르면 됩니다. 그것들을 따른다고 해서 당신이 마스터가 되는 것은 아니지만, 당신이 그것을 설득력 있게 모방할 수 있게 해줄 것입니다.

    규칙 1: 코딩 표준을 따르세요.

    각 프로그래밍 언어에는 들여쓰기 방법, 공백과 괄호를 넣을 위치, 개체 이름 지정 방법, 코드 주석 지정 방법 등을 알려주는 고유한 코드 형식 지정 표준이 있습니다.

    예를 들어, 표준에 따르면 다음 코드에는 12개의 오류가 있습니다.

    (i=0 ;나는

    표준을 주의 깊게 연구하고, 기본 사항을 암기하고, 계명과 같은 규칙을 따르십시오. 그러면 여러분의 프로그램은 대부분의 대학 졸업생이 작성한 것보다 더 좋을 것입니다.

    많은 조직에서는 특정 요구 사항에 맞게 표준을 맞춤화합니다. 예를 들어, Google은 12개 이상의 프로그래밍 언어에 대한 표준을 개발했습니다. 잘 고려되어 있으므로 Google 프로그래밍에 도움이 필요한 경우 확인해 보세요. 표준에는 스타일을 준수하는 데 도움이 되는 편집기 설정과 코드가 해당 스타일을 준수하는지 확인하는 특수 도구도 포함됩니다. 그것을 써.

    규칙 2: 설명이 포함된 이름을 지정하세요.

    느리고 투박한 텔레타이프 기계로 인해 고대의 프로그래머들은 시간, 키 입력, 잉크 및 종이를 절약하기 위해 변수 및 프로시저 이름에 대한 계약을 사용했습니다. 이러한 문화는 이전 버전과의 호환성을 유지하기 위해 일부 커뮤니티에 존재합니다. 예를 들어 언어 분리 C 함수 wcscspn(와이드 문자열 보완 범위)을 살펴보겠습니다. 그러나 이 접근 방식은 최신 코드에는 적용되지 않습니다.

    귀하와 귀하의 동료가 향후 코드를 이해하는 데 도움이 되도록 ComplementSpanLength와 같은 길고 설명이 포함된 이름을 사용하십시오. 예외는 루프 반복자, 매개변수, 임시 값 또는 실행 결과와 같이 메서드 본문에 사용되는 몇 가지 중요한 변수입니다.

    이름을 짓기 전에 오랫동안 열심히 생각하는 것이 훨씬 더 중요합니다. 이름이 정확한가요? 최고 가격 또는 최고 가격을 의미하시나요? 유사한 개체에 대한 다른 컨텍스트에서 사용되지 않을 만큼 이름이 충분히 구체적입니까? getBest 대신 getBestPrice 메소드를 호출하는 것이 더 낫지 않을까요? 다른 유사한 이름보다 더 잘 어울리나요? ReadEventLog 메서드가 있는 경우 다른 NetErrorLogRead를 호출하면 안 됩니다. 함수 이름을 지정하면 그 이름이 반환 값을 설명합니까?

    결론적으로 몇 가지 간단한 규칙명명. 클래스 및 유형 이름은 명사여야 합니다. 메소드 이름에는 동사가 포함되어야 합니다. 메소드가 객체에 대한 일부 정보가 참인지 거짓인지를 결정하는 경우 해당 이름은 "is"로 시작해야 합니다. 객체의 속성을 반환하는 메서드는 "get"으로 시작해야 하고, 속성 값을 설정하는 메서드는 "set"으로 시작해야 합니다.

    규칙 3: 의견 및 문서.

    주석으로 설명하여 각 방법과 절차를 시작합니다. 이 방법또는 프로시저는 매개변수, 반환 값 및 가능한 오류그리고 예외. 각 파일과 클래스의 역할, 각 클래스 필드의 내용, 복잡한 코드의 주요 단계를 주석에 설명합니다. 코드를 개발하면서 주석을 작성하세요. 나중에 쓸 것이라고 생각한다면 자신을 속이는 것입니다.

    또한 애플리케이션이나 라이브러리에 코드의 기능을 설명하고, 종속성을 정의하며, 빌드, 테스트, 설치 및 사용에 대한 지침을 제공하는 설명서가 있는지 확인하세요. 문서는 짧고 편리해야 합니다. 간단한 README 파일이면 충분할 때가 많습니다.

    규칙 4. 같은 말을 반복하지 마세요.

    코드를 복사하여 붙여넣지 마세요. 대신 공통 부분을 메서드나 클래스(또는 필요한 경우 매크로)로 분리하고 적절한 매개변수와 함께 사용하세요. 유사한 데이터와 코드 조각을 사용하지 마십시오. 또한 다음 기술을 사용하십시오.

    • Javadoc 및 Doxygen을 사용하여 주석에서 API 참조를 생성합니다.
    • 주석 또는 명명 규칙을 기반으로 단위 테스트를 자동 생성합니다.
    • 단일 태그 소스에서 PDF 및 HTML을 생성합니다.
    • 데이터베이스에서 클래스 구조를 검색합니다(또는 그 반대로).

    규칙 5: 오류를 확인하고 이에 대응하세요.

    메서드는 오류 증상을 반환하거나 예외를 발생시킬 수 있습니다. 처리하세요. 디스크가 절대 채워지지 않고, 구성 파일이 항상 거기에 있고, 애플리케이션이 필요한 모든 권한으로 실행되고, 메모리 할당 요청이 항상 성공하거나, 연결이 절대 실패하지 않을 것이라는 사실에 의존하지 마십시오. 예, 좋은 처리오류는 작성하기 어렵고 코드를 더 길고 읽기 어렵게 만듭니다. 그러나 오류를 무시하면 문제가 은폐되어 의심하지 않는 사용자가 언젠가는 이를 발견하게 될 것입니다.

    규칙 6: 코드를 짧고 개별적인 부분으로 나누세요.

    각 메소드, 함수 또는 코드 블록은 일반 화면 창(25-50줄)에 맞아야 합니다. 더 길면 더 짧은 조각으로 나누세요. 메서드 내에서도 긴 코드를 블록으로 나누고, 각 블록의 시작 부분에 있는 주석으로 블록의 본질을 설명할 수 있습니다.

    또한 각 클래스, 모듈, 파일 또는 프로세스는 특정 종류의 작업을 수행해야 합니다. 코드 조각이 완전히 다른 작업을 수행하는 경우 그에 따라 코드를 나눕니다.

    규칙 7. 프레임워크 API와 타사 라이브러리를 사용하세요.

    프레임워크의 API를 통해 어떤 기능을 사용할 수 있는지 살펴보세요. 성숙한 타사 라이브러리가 무엇을 할 수 있는지도 알아보세요. 시스템 패키지 관리자가 라이브러리를 지원한다면 아마도 다음과 같을 것입니다. 좋은 선택. 바퀴를 재발명하려는 욕구를 억제하는 코드(그리고 쓸모없는 사각형 코드)를 사용하십시오.

    규칙 8: 지나치게 디자인하지 마세요.

    지금 관련성이 있는 것만 디자인하세요. 코드가 너무 복잡해지지 않는 한 추가 개발을 지원하기에 충분히 일반적인 코드를 만들 수 있습니다. 매개변수화된 클래스, 팩토리, 심층 계층 구조 및 숨겨진 인터페이스존재하지도 않는 문제를 해결하려면 내일 무슨 일이 일어날지 짐작할 수 없습니다. 반면, 코드 구조가 작업에 적합하지 않은 경우에는 주저하지 말고 리팩토링하세요.

    규칙 9: 일관성을 유지하세요.

    같은 방법으로 같은 일을 하십시오. 기존 메소드와 기능이 유사한 메소드를 개발하는 경우 유사한 이름, 유사한 매개변수 순서 및 유사한 본체 구조를 사용하십시오. 수업에도 동일하게 적용됩니다. 유사한 필드와 메서드를 만들고 유사한 인터페이스를 제공하며 비슷한 클래스의 기존 이름과 새 이름을 일치시킵니다.

    코드는 프레임워크의 규칙을 따라야 합니다. 예를 들어, 범위를 반 개방형으로 만드는 것이 좋습니다. 즉, 왼쪽(범위 시작 부분)은 닫혀 있고(포함) 오른쪽(끝)은 열려 있습니다(제외). 특정 사건에 대한 합의가 없다면 선택을 하고 열광적으로 이를 고수하십시오.

    규칙 10: 보안 문제를 피하세요.

    최신 코드는 단독으로 작동하는 경우가 거의 없습니다. 공격의 표적이 될 위험이 임박했습니다. 인터넷에서 올 필요는 없습니다. 공격은 애플리케이션의 입력 데이터를 통해 발생할 수 있습니다. 프로그래밍 언어 및 도메인에 따라 버퍼 오버플로, 사이트 간 스크립팅, SQL 삽입 및 기타 유사한 문제에 대해 걱정해야 할 수도 있습니다. 이러한 문제를 연구하고 코드에서 이러한 문제를 피하십시오. 어렵지 않습니다.

    규칙 11: 효율적인 데이터 구조와 알고리즘을 사용하세요.

    간단한 코드는 동일한 코드보다 유지 관리가 더 쉽지만 효율성을 위해 수정되는 경우가 많습니다. 다행스럽게도 프레임워크가 제공하는 데이터 구조와 알고리즘을 사용하여 유지 관리성과 효율성을 결합할 수 있습니다. 이들과 함께 작동하는 맵, 세트, ​​벡터 및 알고리즘을 사용하십시오. 이렇게 하면 코드가 더욱 깔끔하고, 빠르고, 확장 가능하며, 메모리 효율성이 높아집니다. 예를 들어 수천 개의 값을 정렬된 세트에 저장하는 경우 교차 연산은 백만 번의 비교가 아닌 동일한 수의 연산에서 다른 세트와 공통 요소를 찾습니다.

    규칙 12. 단위 테스트를 사용하세요.

    최신 소프트웨어는 복잡하기 때문에 설치 비용이 더 많이 들고 테스트도 더 어렵습니다. 생산적인 접근 방식은 작업의 정확성을 확인하는 테스트를 각 코드 조각과 함께 수행하는 것입니다. 이 접근 방식은 디버깅을 단순화합니다. 이를 통해 오류를 더 일찍 감지할 수 있습니다. 단위 테스트는 Python 및 JavaScript와 같은 동적 유형 언어로 프로그래밍할 때 런타임에만 오류를 포착하기 때문에 필요합니다. 정적 타이핑 Java와 마찬가지로 C# 및 C++는 컴파일 타임에 이들 중 일부를 포착할 수 있습니다. 또한 단위 테스트를 통해 자신 있게 코드를 리팩터링할 수 있습니다. XUnit을 사용하면 테스트를 더 쉽게 작성하고 실행을 자동화할 수 있습니다.

    규칙 13: 코드를 이식 가능하게 유지하세요.

    특별한 이유가 없는 한 특정 플랫폼에서만 사용할 수 있는 기능을 사용하지 마세요. 특정 길이(예: 32비트)를 갖기 위해 특정 데이터 유형(예: 정수, 포인터 및 타임스탬프)에 의존하지 마십시오. 이 매개변수는 플랫폼마다 다르기 때문입니다. 프로그램 메시지를 코드와 별도로 유지하고 문화권별 매개 변수(예: 소수 구분 기호 또는 날짜 형식)를 하드코딩하지 마세요. 코드가 실행되려면 규칙이 필요합니다. 다른 나라, 현지화를 최대한 쉽게 만드세요.

    규칙 14: 코드를 구성 가능하게 만드세요.

    간단한 명령으로 코드를 배포할 준비가 된 형태로 조합해야 합니다. 이 명령을 사용하면 필요한 테스트를 빠르게 구축하고 실행할 수 있습니다. 이 목표를 달성하려면 Make, Apache Maven 또는 Ant와 같은 자동화된 빌드 도구를 사용하십시오. 이상적으로는 코드가 변경될 때마다 코드를 확인, 구축 및 테스트하는 통합 시스템을 설치해야 합니다.

    규칙 15: 모든 것을 버전 관리에 두세요.

    코드, 문서, 도구 소스, 빌드 스크립트, 테스트 데이터 등 모든 요소가 버전 제어에 있어야 합니다. Git과 GitHub를 사용하면 이 작업을 저렴하고 번거롭지 않게 만들 수 있습니다. 하지만 다른 많은 방법도 사용할 수 있습니다. 강력한 도구그리고 서비스. 간단히 저장소에서 프로그램을 다운로드하여 구성된 시스템에서 프로그램을 구축하고 테스트할 수 있어야 합니다.

    결론.

    이러한 15가지 규칙을 일상적인 연습의 일부로 만들면 더 읽기 쉽고, 잘 테스트되고, 올바르게 실행될 가능성이 더 높으며, 때가 왔을 때 훨씬 쉽게 변경할 수 있는 코드를 만들 수 있습니다. 또한 자신과 사용자의 많은 고민을 덜어줄 것입니다.

  • 공유하다