De vez em quando, quando entro em um site de TI, descubro que tem muita coisa que busca novidade, novidade, especialização e preconceito! Pode-se dizer que existe de tudo no mundo! Mas diante da situação atual do software chinês, por um lado, descobrimos que existem muitos, muitos softwares práticos em processo de compilação, e muitas pessoas estão fazendo horas extras e ainda estão muito ocupadas; softwares práticos que ninguém desenvolveu e está esperando que alguém os desenvolva. Por outro lado, também descobrimos que existem muitos programadores ociosos que não sabem o que querem desenvolver! Não sei quais habilidades de programação preciso dominar, então passo muito tempo aprendendo isso e aquilo online. Além de aprender, ainda aprendo, mas simplesmente não faço isso. , o que é de partir o coração. Muitos programadores não sabem que o que mais falta atualmente nesses softwares práticos não são coisas novas, estranhas, especializadas ou tendenciosas, mas tecnologia prática e a qualidade e habilidades na aplicação de tecnologia prática.
Como a programação é “todos os caminhos levam a Roma”, os programadores têm grande autonomia e podem utilizar qualquer método para implementar funções, resultando em níveis de programação desiguais. Acho que os programadores devem dominar as habilidades práticas de programação. Para dominar essas habilidades, eles devem dominar a essência dessas habilidades. Somente compreendendo completamente essas essências eles poderão resumir seu escopo de aplicação e pontos de atenção: e aqueles programadores que só sabem escrever programas. mas não sei por que são escritos desta forma. Talvez não seja possível usar as melhores declarações, as declarações mais simples e as declarações mais apropriadas para escrever programas, muito menos usar habilidades superiores para combinar essas declarações para obter alta qualidade programas.
Na prática de programação de longo prazo, acredito que as seguintes habilidades de programação são a base e devem ser dominadas. Outras habilidades de programação de nível superior devem ser usadas para aprendê-las.
1. Atribuição
A atribuição é uma declaração básica indispensável em programação e é a declaração mais básica. Dominar essa afirmação parece muito simples, mas quanto mais simples for, mais atenção você precisará prestar atenção. A atribuição mais simples é atribuir um valor a uma variável. Por exemplo x=1.
A essência da atribuição é a transferência entre coisas. Além disso, a atribuição em si é um processo intermediário, e o significado refletido no nível do código é atribuir um valor ou ponteiro de memória na memória a um ponteiro de memória.
Existem dois aspectos na atribuição: um é: qual valor ou variável ou objeto é obtido, e o outro é: a qual variável ou objeto é atribuído. Quando os programadores estão programando, eles geralmente ficam confusos em dois aspectos: quais valores, variáveis e objetos eu obtenho, como encontrar esses valores, variáveis e objetos e a quem devo atribuí-los depois de obtê-los. Isto é o que frequentemente encontramos.
Quando atribuímos valores devemos prestar atenção em:
1) Os tipos de dados em ambos os lados da equação devem ser iguais.
2) As instruções de atribuição são mais rápidas do que outras instruções. Isto deve ser observado quando se concentra na eficiência.
As instruções de atribuição são mais rápidas que as chamadas de função e mais rápidas que as instruções de loop.
Por exemplo: uma instrução de loop é escrita em um loop enorme:
para(eu=0;eu<3;eu++)
UMA[eu]=eu+1;
É melhor transformá-lo em uma declaração de atribuição:
UMA[0]=1;
UMA[1]=2;
UMA[2]=3;
3) Quando existem múltiplas instruções de atribuição, o processamento da atribuição pode ser sequencial.
4) Existem muitas declarações de atribuição (mais de 20, que são muito rígidas de ler e não têm conteúdo técnico, pode ser necessário considerar a atribuição circular).
2. Processamento condicional
O processamento condicional perde apenas para o processamento de atribuição no conteúdo de programação, e as mudanças no programa são basicamente causadas pelo processamento condicional. Diferentes processamentos serão realizados quando diferentes condições forem atendidas. Portanto, a essência do processamento condicional é que as mudanças nas coisas trazem mudanças correspondentes.
Na prática de programação, muitas vezes ficamos confusos sobre: Quais condições? O que fazer? E também considere quando começar a considerar as condições.
O processamento de atribuição é um processamento sequencial. A condição aumenta a possibilidade de processamento da atribuição. Quando a condição for atendida, a atribuição A poderá ser executada.
Ao processar as condições, devemos prestar atenção a:
1) Como escolhemos meus termos? Essa é a nossa expressão condicional.
Na verdade, esta questão é muito complicada.
De modo geral, consideraremos a condição mais importante como a primeira condição. No entanto, também consideraremos a condição do maior conjunto de resultados que satisfaça a condição como a primeira condição. Tais condições finais muitas vezes não podem ser cumpridas, ou mesmo depois de cumpridas, não requerem muito processamento.
A partir do design de expressões condicionais, podemos usar uma única variável para representar a condição ou múltiplas operações de variáveis para representar a condição. Uma única variável pode ser representada por tipos numéricos, de caracteres ou lógicos. Entre eles, também é muito particular.
Por exemplo. sinalizador==1;sinalizador=='1';sinalizador==Verdadeiro
Ambos podem permitir a transferência das condições do programa, mas há muitos fatores a serem considerados na escolha.
2) Não vamos deixar de fora as exceções
Por exemplo, quando consideramos i=1 e i=2, não consideramos i<1 e i>2.
A omissão de condições muitas vezes indica que falta aos nossos programadores o conceito geral e o conceito de exceções. Esta é uma das razões pelas quais muitos programas são mal escritos.
3) Não pode haver qualquer interseção entre condições
Por exemplo:
Se(i>1 &&i<=5)
x=1;
Se(i>4&&i<10)
x=2;
Quando eu = 5,
x é igual a 1 primeiro e depois é igual a 2. Isto deve ser evitado. Muitos erros de programa estão relacionados a esses problemas.
4) Preste atenção especial à cobertura do processamento condicional.
Por exemplo: se (sinalizador==1)
X=1;
Se(sinalizador==2)
X=2;
X=5;
Não importa quais sejam as condições, x é sempre igual a 5.
5) Esteja atento às respectivas adaptações de if e case. Saiba quando usar if e quando usar case.
3. Ciclo
Loop é uma expressão simples de operações repetidas, desde que haja operações repetidas, instruções de loop podem ser usadas. A essência dos ciclos é a repetição.
Ao processar loops, devemos prestar atenção a:
1) O processamento circular é um aspecto importante que afeta a eficiência
Quando há um problema de eficiência no programa, você deve primeiro procurá-lo na instrução do loop.
2) Pré-requisitos para processamento de loop
De modo geral, as instruções de loop podem ser usadas para execuções repetidas mais de três vezes. Por menos de três vezes, é melhor não usar instruções de loop.
Por exemplo:
Para(i=0;i<3;i++)
B[i]=eu;
É melhor escrever:
B[0]=0;
B[1]=1;
B[2]=2;
É claro que, em termos de legibilidade e escalabilidade, as instruções de loop também podem ser usadas.
3) Diferentes condições de loop usam diferentes instruções de loop
Os programadores precisam saber quando usar for, quando usar do while e quando usar foreach.
Embora as afirmações acima possam atingir o mesmo propósito, os programadores ainda precisam conhecer seu escopo de aplicação para que possam ser mais adequadas.
4) Faça uso total das instruções do loop, como loop de interrupção, loop de continuação, retorno de função, saída de programa, etc., para tornar o loop mais colorido.
4. Operações de string
Strings são uma representação importante de informações. A manipulação de strings é uma das operações mais comumente usadas em programação. A essência da operação de strings é o processamento de informações. Como não existem padrões para muitas informações, os programadores as manipulam para adequá-las aos seus próprios requisitos padrão.
Por exemplo: algumas strings contêm uma variedade de informações, então as strings devem ser divididas; algumas strings estão faltando informações, então as strings devem ser mescladas;
Preste atenção principalmente aos seguintes aspectos ao operar strings:
1) Processamento de string vazia
Como a string original terá vários espaços no início e no final da string por motivos operacionais e de sistema, os espaços devem ser removidos antes que a string seja processada.
2) Processamento de código ilegível
Existem vários caracteres ilegíveis em algumas strings, fazendo com que caracteres incompreensíveis apareçam na exibição da string. Essas situações são causadas principalmente pela presença de códigos de caracteres de controle em strings e incompatibilidades de caracteres em caracteres chineses.
3) Processamento de delimitador
Os delimitadores geralmente aparecem em um registro ou parâmetro para separar informações, e as informações podem ser retiradas por meio de delimitadores. Na prática, pode acontecer que o próprio conteúdo da informação contenha delimitadores ou que delimitadores sejam gerados durante a geração de código ilegível. Nesses casos, os delimitadores precisam ser alterados ou um processamento especial deve ser realizado.
4) Conversão entre caracteres e outros tipos de dados
Na programação real, a consistência dos objetos nos quais operamos geralmente requer a operação de conversão de strings em outros tipos de dados ou de conversão de outros tipos de dados em strings. De modo geral, é mais fácil converter outros tipos de dados em strings, mas ao converter strings em outros tipos de dados, você deve considerar se o formato da string antes da conversão atende aos requisitos.
Por exemplo: para converter “1.000.000” em um valor numérico, remova “,” antes da conversão.
5) Processamento de substring
O processamento de substring é frequentemente usado em consultas. Existem três tipos de correspondência de substring: frontal, intermediário e último. A correspondência de substring geralmente leva mais tempo. Quanto mais curta a substring e mais longa a string de consulta, mais tempo leva. Ao consultar no campo indexado, apenas a primeira correspondência pode usar o índice para atingir o objetivo de consulta rápida. No entanto, se as correspondências intermediárias e posteriores forem usadas, o índice será inválido e cada registro precisará ser correspondido um por um. , que leva mais tempo. Os programadores devem compreender o conteúdo acima e aproveitar a situação para processar corretamente as substrings para atingir fins de consulta rápida.
5. Operações aritméticas
As operações aritméticas perdem apenas para as operações de string na programação. Entre eles, somar 1 possui muitas operações e é amplamente utilizado. Adição, subtração, multiplicação e divisão são mais comumente usadas em software de aplicação geral. A essência das operações aritméticas é o processamento de informações numéricas. As operações aritméticas são requisitos algorítmicos para aplicações práticas, por um lado, e algoritmos de programação, por outro.
Por exemplo, o sistema aplicativo precisa calcular a área de um retângulo. Então a instrução S=L*D será escrita.
Se você deseja programar e calcular a área de 100 retângulos, você precisa de um ponteiro para calcular a área do próximo retângulo através do ponteiro + 1. O ponteiro é incrementado em 1. Esta operação é exigida pelo algoritmo.
As operações aritméticas são usadas em aplicações onde os cálculos de fórmulas são relativamente simples. No entanto, as técnicas e implementação de operações aritméticas usadas em algoritmos não são tão simples. Os pontos principais a serem observados são: definir algumas variáveis intermediárias e transformá-las em operações de loop através da adição e subtração de variáveis intermediárias.
6. Matriz
Um array é uma coleção que armazena dados. As operações de array também são comumente encontradas na programação: a essência de um array é uma coleção de coisas. No entanto, deve-se notar que o número de objetos de coleção é limitado e seu array é armazenado na memória, portanto, as operações do array são muito rápidas. Uma grande parte do uso de arrays é o uso de instruções de loop. A combinação de arrays e loops melhora muito a qualidade dos programas.
Para arrays devemos prestar atenção em:
1. Questões relacionadas ao número de arrays
2. Método de representação e forma de armazenamento de matrizes multidimensionais
3. Problema de array fora dos limites
4. Matriz vazia
5. O uso de arrays em instruções de loop.
Anexo: Achei que esse assunto poderia ser resolvido em um artigo, mas quanto mais eu escrevia, mais não tinha escolha a não ser simplificá-lo e depois simplificá-lo, então vamos escrever em partes.
Próximo artigo "Habilidades práticas de programação que os programadores devem dominar 2"
Conteúdo principal:
7. Ligue
8. Operações de arquivo
9. Operações lógicas
10. Matriz
11. Banco de dados
12. Controles
13. Classe
14. Parametrização