가끔 IT사이트에 가보면 참신함, 새로움, 전문성, 편견을 추구하는 것들이 많이 보이더라구요! 세상에는 다 있다고 할 수 있죠! 그러나 중국 소프트웨어의 현재 상황에 직면하여 우리는 한편으로는 컴파일 과정에 수많은 실용적인 소프트웨어가 있다는 것을 알게 되었고, 많은 사람들이 야근을 하고 있으며 여전히 매우 바쁘다는 것을 알게 되었습니다. 누구도 개발하지 않았고, 누군가가 기다리고 있는 실용적인 소프트웨어. 반면에 우리는 자신이 무엇을 개발하고 싶은지 모르는 방치형 프로그래머가 많다는 사실도 발견했습니다! 어떤 프로그래밍 기술을 습득해야 할지 모르기 때문에 온라인에서 이것저것 배우는 데 많은 시간을 소비합니다. 배우는 것 외에도 계속 배우지만 즐거운 시간을 헛되이 보내지는 않습니다. , 가슴 아프네요. 많은 프로그래머들은 현재 이러한 실용적인 소프트웨어에 가장 부족한 것이 새롭거나 낯설거나 전문적이거나 편향된 것이 아니라 실용적인 기술, 그리고 실용적인 기술을 적용하는 품질과 기술이라는 사실을 모릅니다.
프로그래밍은 "모든 길은 로마로 통한다"는 점에서 프로그래머는 자율성이 뛰어나고 모든 방법을 사용하여 기능을 구현할 수 있으므로 프로그래밍 수준이 고르지 않게 됩니다. 프로그래머는 실용적인 프로그래밍 기술을 습득해야 한다고 생각합니다. 이러한 기술을 익히려면 이러한 기술의 본질을 숙지해야 합니다. 이러한 본질을 철저히 이해해야만 응용 범위와 주의 사항을 요약할 수 있습니다. 그리고 프로그램 작성 방법만 아는 프로그래머는 다음과 같습니다. 최고의 문장, 가장 간단한 문장, 가장 적절한 문장을 사용하여 프로그램을 작성하는 것이 불가능할 수도 있고, 더 높은 기술을 사용하여 이러한 문장을 결합하여 고품질을 달성하는 것도 불가능할 수 있습니다. 프로그램.
장기적인 프로그래밍 실습에서는 다음과 같은 프로그래밍 기술이 기본이며 이를 익히려면 다른 고급 프로그래밍 기술을 사용해야 한다고 생각합니다.
1. 과제
할당은 프로그래밍에 없어서는 안 될 기본문이자, 가장 기본적인 문장입니다. 이 말을 익히는 것은 매우 간단해 보이지만, 단순할수록 더 많은 주의를 기울여야 합니다. 가장 간단한 할당은 변수에 값을 할당하는 것입니다. 예를 들어 x=1입니다.
할당의 본질은 사물 간의 이전입니다. 게다가 할당 자체는 중간과정이고, 코드레벨에 반영된 의미는 메모리에 있는 값이나 메모리 포인터를 메모리 포인터에 할당하는 것이다.
할당에는 두 가지 측면이 있습니다. 하나는 어떤 값이나 변수 또는 개체를 가져오는 것이고, 다른 하나는 어떤 변수나 개체에 할당하는 것입니다. 프로그래머는 프로그래밍을 할 때 두 가지 측면, 즉 어떤 값, 변수 및 객체를 얻는지, 이러한 값, 변수 및 객체를 어떻게 찾는지, 그리고 이를 얻은 후 누구에게 할당하는지에 대해 종종 혼동합니다. 우리가 흔히 접하는 일이 바로 이것이다.
가치를 부여할 때 다음 사항에 주의해야 합니다.
1) 방정식의 양쪽에 있는 데이터 유형은 동일해야 합니다.
2) 할당문은 다른문보다 빠릅니다. 효율성에 초점을 맞출 때 이 점에 유의해야 합니다.
할당문은 함수 호출보다 빠르고 루프문보다 빠릅니다.
예를 들어, 루프 문은 거대한 루프로 작성되었습니다.
for(i=0;i<3;i++)
A[i]=i+1;
할당문으로 바꿀 수도 있습니다.
A[0]=1;
A[1]=2;
A[2]=3;
3) 대입문이 여러 개인 경우 대입 처리는 순차적으로 이루어질 수 있습니다.
4) 할당문이 너무 많습니다(20개 이상, 읽기가 매우 어렵고 기술적 내용이 없음). 순환 할당을 고려해야 할 수도 있습니다.
2. 조건부 처리
조건부 처리는 프로그래밍 내용에서 할당 처리에 이어 두 번째로, 프로그램 변경은 기본적으로 조건부 처리에 의해 발생합니다. 다른 조건이 충족되면 다른 처리가 수행됩니다. 따라서 조건부 처리의 본질은 사물의 변화가 그에 상응하는 변화를 가져오는 것입니다.
프로그래밍 실습에서 우리는 종종 다음과 같은 사항에 대해 혼란스러워합니다. 어떤 조건이 있습니까? 무엇을 해야 할까요? 또한 언제 조건을 고려하기 시작할지 고려하십시오.
할당 처리는 순차적 처리입니다. 조건이 충족되면 A 할당이 실행될 수 있으며, 조건이 충족되지 않으면 B 할당이 실행될 수 있습니다.
처리 조건에서는 다음 사항에 주의해야 합니다.
1) 조건을 어떻게 선택하나요? 이것이 우리의 조건식입니다.
사실 이 문제는 매우 복잡합니다.
일반적으로 말하면 가장 중요한 조건을 첫 번째 조건으로 삼겠습니다. 그러나 조건을 만족하는 가장 큰 결과 집합의 조건도 첫 번째 조건으로 고려하겠습니다. 이러한 최종 조건은 종종 충족되지 않거나 충족된 후에도 많은 처리가 필요하지 않습니다.
조건식 설계에서 단일 변수를 사용하여 조건을 나타내거나 여러 변수 연산을 사용하여 조건을 나타낼 수 있습니다. 단일 변수는 숫자, 문자 또는 논리 유형으로 나타낼 수 있습니다. 그 중에서도 매우 특별합니다.
예를 들어. 플래그==1;플래그=='1';플래그==참
두 가지 모두 프로그램 조건을 전송할 수 있지만 선택 방법에 대해 고려해야 할 요소가 많습니다.
2) 예외를 두지 말자
예를 들어, i=1과 i=2를 고려할 때 i<1과 i>2는 고려하지 않습니다.
조건의 생략은 종종 우리 프로그래머에게 전체적인 개념과 예외 개념이 부족하다는 것을 나타냅니다. 이것이 많은 프로그램이 제대로 작성되지 않는 이유 중 하나입니다.
3) 조건 사이에는 교차가 있을 수 없습니다.
예를 들어:
만약(i>1 &&i<=5)
x=1;
만약(i>4&&i<10)
x=2;
i=5일 때,
x는 먼저 1과 같고 그 다음에는 2와 같습니다. 이는 피해야 합니다. 많은 프로그램 오류가 이러한 문제와 관련되어 있습니다.
4) 조건부 처리 범위에 특히 주의하십시오.
예: if (플래그==1)
X=1;
If(플래그==2)
X=2;
X=5;
조건이 무엇이든 x는 항상 5와 같습니다.
5) if와 case의 각각의 적응에 유의하십시오. 언제 사용해야 하는지, 언제 케이스를 사용해야 하는지 알아보세요.
3. 사이클
루프는 반복되는 연산을 단순하게 표현한 것으로, 반복되는 연산이 있는 한 루프문을 사용할 수 있습니다. 순환의 본질은 반복이다.
루프를 처리할 때 다음 사항에 주의해야 합니다.
1) 순환가공은 효율성에 영향을 미치는 중요한 측면
프로그램에 효율성 문제가 있으면 먼저 루프 문에서 이를 찾아야 합니다.
2) 루프 처리를 위한 전제조건
일반적으로 루프 문은 세 번 이상 반복 실행하는 데 사용할 수 있습니다. 3회 미만의 경우에는 루프문을 사용하지 않는 것이 가장 좋습니다.
예를 들어:
(i=0;i<3;i++)의 경우
B[i]=i;
다음과 같이 작성하는 것이 좋습니다.
B[0]=0;
B[1]=1;
B[2]=2;
물론 가독성과 확장성 측면에서 루프문을 사용할 수도 있습니다.
3) 다른 루프 조건은 다른 루프 문을 사용합니다.
프로그래머는 언제 for를 사용해야 하는지, 언제 do while을 사용해야 하는지, 언제 foreach를 사용해야 하는지 알아야 합니다.
위의 설명이 동일한 목적을 달성할 수 있더라도 프로그래머는 여전히 적용 범위를 알아야 가장 적절할 수 있습니다.
4) 인터럽트 루프, 계속 루프, 함수 반환, 프로그램 종료 등과 같은 루프 내 명령문을 최대한 활용하여 루프를 더욱 다채롭게 만듭니다.
4. 문자열 연산
문자열은 정보를 나타내는 중요한 표현입니다. 문자열 조작은 프로그래밍에서 가장 일반적으로 사용되는 작업 중 하나입니다. 문자열 연산의 핵심은 정보 처리입니다. 많은 정보에 대한 표준이 없기 때문에 프로그래머는 자신의 표준 요구 사항에 맞게 정보를 조작합니다.
예를 들어, 일부 문자열에 다양한 정보가 포함되어 있으면 문자열을 분할해야 하며, 일부 문자열에 정보가 없으면 문자열을 병합해야 합니다.
문자열을 조작할 때 주로 다음 측면에 주의하십시오.
1) 빈 문자열 처리
원본 문자열에는 운영상의 이유 및 시스템상의 이유로 문자열의 시작과 끝 부분에 여러 개의 공백이 있으므로 문자열을 처리하기 전에 공백을 제거해야 합니다.
2) 왜곡된 코드 처리
일부 문자열에는 다양한 문자가 왜곡되어 문자열 표시에 이해할 수 없는 문자가 표시됩니다. 이러한 상황은 주로 문자열에 제어 문자 코드가 있거나 한자의 문자 불일치로 인해 발생합니다.
3) 구분자 처리
정보를 구분하기 위해 레코드나 매개변수에 구분 기호가 나타나는 경우가 많으며, 구분 기호를 통해 정보를 꺼낼 수 있습니다. 실제로는 정보 내용 자체에 구분 기호가 포함되어 있거나, 잘못된 코드 생성 중에 구분 기호가 생성되는 경우가 있습니다. 이러한 경우에는 구분 기호를 변경하거나 특별한 처리를 수행해야 합니다.
4) 문자와 다른 데이터 유형 간의 변환
실제 프로그래밍에서 우리가 작업하는 개체의 일관성을 유지하려면 문자열을 다른 데이터 유형으로 변환하거나 다른 데이터 유형을 문자열로 변환하는 작업이 필요한 경우가 많습니다. 일반적으로 다른 데이터 유형을 문자열로 변환하는 것이 더 쉽지만 문자열을 다른 데이터 유형으로 변환하는 경우 변환 전 문자열 형식이 요구 사항을 충족하는지 고려해야 합니다.
예를 들어 "1,000,000"을 숫자 값으로 변환하려면 변환하기 전에 ","를 제거하세요.
5) 하위 문자열 처리
하위 문자열 처리는 쿼리에 자주 사용됩니다. 부분 문자열 일치에는 앞부분, 중간 부분, 마지막 부분의 세 가지 유형이 있습니다. 하위 문자열 일치에는 더 많은 시간이 소요되는 경우가 많습니다. 하위 문자열이 짧을수록, 쿼리 문자열이 길수록 시간이 더 오래 걸립니다. 인덱스된 필드에서 쿼리할 경우 빠른 쿼리 목적을 달성하기 위해 첫 번째 일치만 인덱스를 사용할 수 있습니다. 그러나 중간 및 이후 일치를 사용하면 인덱스가 유효하지 않으며 각 레코드를 하나씩 일치해야 합니다. , 시간이 가장 오래 걸립니다. 프로그래머는 빠른 쿼리 목적을 달성하기 위해 하위 문자열을 올바르게 처리하기 위해 위 내용을 이해하고 상황을 활용해야 합니다.
5. 산술 연산
산술 연산은 프로그래밍에서 문자열 연산에 이어 두 번째입니다. 그 중 1을 더하는 것은 연산이 많아 널리 사용됩니다. 덧셈, 뺄셈, 곱셈, 나눗셈은 일반 응용 소프트웨어에서 가장 일반적으로 사용됩니다. 산술 연산의 본질은 수치 정보를 처리하는 것입니다. 산술 연산은 한편으로는 실제 응용 프로그램을 위한 알고리즘 요구 사항이고 다른 한편으로는 프로그래밍 알고리즘입니다.
예를 들어, 애플리케이션 시스템은 직사각형의 면적을 계산해야 합니다. 그러면 S=L*D 문이 작성됩니다.
100개의 직사각형의 면적을 프로그래밍하고 계산하려면 포인터 + 1을 통해 다음 직사각형의 면적을 계산하는 포인터가 필요합니다. 포인터는 1씩 증가합니다. 이 작업은 알고리즘에 필요합니다.
산술 연산은 수식 계산이 상대적으로 간단한 응용 프로그램에 사용됩니다. 그러나 알고리즘에 사용되는 산술 연산의 기술과 구현은 그렇게 간단하지 않습니다. 주목해야 할 핵심 사항은 일부 중간 변수를 정의하고 중간 변수의 덧셈과 뺄셈을 통해 이를 루프 연산으로 만드는 것입니다.
6. 배열
배열은 데이터를 저장하는 모음입니다. 배열 작업은 프로그래밍에서도 흔히 볼 수 있습니다. 배열의 본질은 사물의 모음입니다. 그러나 컬렉션 객체의 개수는 제한되어 있고, 그 배열은 메모리에 저장되므로 배열 작업이 매우 빠르다는 점에 유의해야 합니다. 배열 사용의 대부분은 루프 문을 사용하는 것입니다. 배열과 루프의 조합은 프로그램의 품질을 크게 향상시킵니다.
배열의 경우 다음 사항에 주의해야 합니다.
1. 어레이 수와 관련된 문제
2. 다차원배열의 표현방법 및 저장형태
3. 배열이 범위를 벗어나는 문제
4. 빈 배열
5. 루프 문에서 배열을 사용합니다.
첨부: 이 주제는 글 하나로 해결될 수 있을 거라 생각했는데, 쓰면 쓸수록 단순화하고 또 단순화할 수밖에 없어서 나누어서 쓰겠습니다.
다음 기사 "프로그래머가 마스터해야 할 실용적인 프로그래밍 기술 2"
주요 내용:
7. 전화
8. 파일 작업
9. 논리 연산
10. 배열
11. 데이터베이스
12. 컨트롤
13. 수업
14. 매개변수화