Como vocês programam a distinção entre um feto PROFISSIONAL e um feto DILIETANO? - página 7

 

Todas as funções das cordas são de custo intensivo.

Todas as funções gráficas são caras.

Quanto mais itens gráficos - mais lentos. (assim, para acelerar o trabalho em modo visual, periodicamente apagam-se ícones de ordem (especialmente se houver muitos deles)).

O mais demorado aqui seria WinowsRedraw() e Comment() já que o gráfico também é redesenhado ao chamá-lo.

É assim que se vê à primeira vista.

 

O problema é que o código pode ser escrito por um profissional e muito competente (sem características e desenhos caros), mas ele pode incorporar o absurdo absoluto que foi encomendado para fazer.

Não é mais interessante.

 
Mathemat:

O problema é que o código pode ser escrito por um profissional e muito competente (sem características e desenhos caros), mas ele pode incorporar o absurdo absoluto que foi encomendado.

Não é mais interessante.

A meu ver, um programador profissional deve escrever para si mesmo, como um escritor ou compositor, e fazer o pedido, também profissionalmente, necessariamente com um resultado realmente positivo. Outra coisa é se ele for solicitado a escrever sobre a idéia do cliente (TOR), apesar de sua idéia ser inconclusiva para o programador, neste caso o programador adverte que é improvável que o cliente trabalhe com a dica, mas o cliente insiste e o programador realiza o pedido. Entendo que as especificidades são diferentes aqui e que nenhuma obra-prima resistirá ao teste do tempo, mas concordo que há exemplos de longevidade (verificada pelo testador) no Mercado na MT5 para toda a história. Penso que este será o ponto de partida para determinar o profissionalismo do programa e do programador, assim como do comerciante, não porque ele sabe, sabe como, mas pelo resultado. Naturalmente, este trabalho profissional deve ter um preço adequado. E ninguém está proibido de fazer trabalho de má qualidade, como fazem os escritores e compositores, tratando-o condescendentemente como um trabalho forçado em meio período "para sustentar suas calças". Perdoe minha franqueza, mas sem ela, por que falar!

 
A inspiração não está à venda. Mas, você pode vender um manuscrito.
 

Dimitri, defina o que seu analisador deve ser capaz de fazer. Distinguir um código bom de um mau é uma tarefa; distinguir uma boa idéia de uma má é uma tarefa bem diferente. E enquanto no primeiro caso você pode tentar encontrar soluções automáticas, no segundo caso é difícil fazer mesmo no modo manual, e mesmo no modo automático é simplesmente irreal. Mas desde que começamos a falar de um analisador que pode distinguir código bom de código ruim, vamos discutir o assunto:

O que distingue um profissional de um amador em primeiro lugar? Na minha opinião, é o nível de conhecimento do idioma, que é mostrado através de uma variedade de maneiras de usar o idioma. Portanto, se um desenvolvedor usa notação não trivial e algoritmos como a recursividade, é mais provável que ele seja um programador profissional. Com base nisso, podemos construir algum sistema especializado que analisa o código e calcula o número de "truques" usados nele. Cada chip recebe pontos. Se um chip for, ao contrário, negativo, são impostas penalidades. Assim, você obtém um número ou uma pontuação total que caracteriza o código como um todo. Por exemplo, você pode fazer algum tipo de tabela de pesagem:

Aqui está a dica:
Pontuação
Uso de matrizes
+1
Reutilização de código (relação entre funções e linhas de código)
+4
Operadores += -= /=
+1
Operadores % >> <<<
+3
Chamada de função recursiva
+5
Uso de diretrizes de pré-processador
+3
Número de linhas comentadas para a quantidade de código
+5
Uso de funções "lentas
-3
Usando variáveis do mesmo tipo: tempo1, tempo2, tempo3, tempo4
-4

Como resultado, o sistema especializado calcula o peso de cada um dos parâmetros e dá uma pontuação total que caracteriza a qualidade geral do código.

 

Pessoal, a única maneira de dizer a diferença entre código profissional e código iniciante é ter os resultados da otimização do código. Você não será capaz de rastrear 100% de otimização. Você só pode rastrear alguns de seus elementos. E um novato também pode realizar uma otimização parcial. Por exemplo, substituir a operação "multiplicar por dois" pela operação "acrescentar um valor a si mesmo". Desista, a idéia de rastreamento é muito consumidora de recursos em comparação com o resultado que ela pode dar. Não é lucrativo investir em um programa - é uma tentativa de cortar um fósforo de um tronco - um fósforo como um produto, e o resto como aparas.

 
drknn:

Pessoal, a única maneira de dizer a diferença entre código profissional e código iniciante é ter os resultados da otimização do código.

Cabeças de merda ))
 

Sinais de código profissional:
Nomes significativos de variáveis e funções;
Boa estrutura de programanavegável;
Bons comentários.

Você só pode pesquisar tais características manualmente no software. A automação não vai funcionar.

SZY Tudo isso deve ser procurado em programas escritos por um programador para si mesmo.
Em nosso tempo, um programador autorrespeitador não dará este código a terceiros.

 
FAQ:

Todas as funções das cordas são de custo intensivo.

Todas as funções gráficas são caras.

Quanto mais itens gráficos - mais lentos. (assim, para acelerar o trabalho em modo visual, periodicamente apagam-se ícones de ordem (especialmente se houver muitos deles)).

O mais demorado aqui seria WinowsRedraw() e Comment() já que o gráfico também é redesenhado ao chamá-lo.

É assim que se vê à primeira vista.


Estou interessado em otimizações mais rápidas (os testes são uma questão à parte) e redução do consumo de memória.
A questão de acelerar as otimizações (os testes são uma questão à parte) e reduzir o consumo de memória. No fórum, alguém casualmente mencionou que é necessário evitar "adicionar" gráficos
objetos durante a otimização. Em teoria, a otimização não vê nada de gráficos e eu assumi que tal
Eu assumi que comandos como ObjectCreate() são simplesmente ignorados durante a otimização.
Você precisa bloqueá-los ou não?
Mas se você ainda tiver que desativá-los, isso significa que temos que adicionar um cheque cada vez que
if(IsOptimization()==false ) {
}
Ao mesmo tempo, tais verificações em si mesmas afetam a velocidade de otimização.
As funções de verificação do Estado são caras?
Faz sentido atribuí-las a variáveis e usá-las mais tarde?
Eu quase sempre tenho Comentário() - também deveria ser bloqueado durante a otimização?
E quanto ao Alerta e Impressão? (novamente - durante a otimização). Eles não são escritos para o registro durante a otimização, são?
 
chief2000:

E se você ainda precisar bloqueá-los, isso significa que toda vez que você tiver que adicionar um cheque

Simplesmente não

if(IsOptimization()==false ) {
}

а

if( !IsOptimization() ) {
}

Mas é melhor fazer desta forma:

if ( !IsOptimization() && ( !IsTesting() || IsVisualMode() ) ) {

// ...

}

Esta condição pode ser feita uma vez e definir um valor de alguma bandeira, que pode então ser usada para verificar se o texto e as informações gráficas precisam ser exibidas no gráfico.

PS.

E em geral, por que você é tão animado? O início do tópico de vez em quando indica que você ..., e de D'Artagnan.