Feedback sobre a MQL5 - página 7

 
Renat Fatkhullin:

A descrição das regras feita por um estilista não pode ser resumida em algumas linhas de ficção.

Formata da maneira que estabelecemos.

Olá!

O fato de o modelador formatar apenas da maneira que você estabeleceu e nada mais é um pouco estranho. Deixe-me explicar.

MT é uma plataforma Windows. A principal ferramenta de desenvolvimento para Windows é o MSVC, enquanto o MT é escrito em MFC. Esta biblioteca adota a variante de Kernighan e Ritchie do padrão de recuo e formatação. Assim, para uma pessoa que passou toda sua vida no MSVC (e há a maioria deles no Windows) ver 3 espaços como tabulação e 2 espaços extras antes de "{" e também nenhum espaço entre estreitos (se, por...) e seguindo parênteses é um pouco ridículo e perturba a leitura do código. Entendo que você adotou este formato como padrão corporativo, mas ele não se aplica a outros desenvolvedores.

Por isso, sugiro a introdução de algumas configurações de modelagem, todos irão dizer um grande obrigado.

 
SeriousRacoon:

Olá!

O fato de o modelador apenas formatar da maneira que você deseja e não o formatar de outra maneira é um pouco estranho. Deixe-me explicar.

MT é uma plataforma Windows. A principal ferramenta de desenvolvimento para Windows é MSVC, a biblioteca MT é escrita em MFC. Esta biblioteca adota a variante de Kernighan e Ritchie do padrão de recuo e formatação. Assim, para uma pessoa que passou toda sua vida no MSVC (e há a maioria deles no Windows) ver 3 espaços como tabulação e 2 espaços extras antes de "{" e também nenhum espaço entre estreitos (se, para...) e seguindo parênteses é um pouco ridículo e perturba a leitura do código. Entendo que você adotou este formato como padrão corporativo, mas ele não se aplica a outros desenvolvedores.

Por isso, sugiro a introdução de algumas configurações de modelagem, todos irão dizer um grande obrigado.

Uma pequena correção, o estilo de código Microsoft não é um padrão da K&R. O padrão da K&R é basicamente uma diferença de formato curly bracketed, é projetado para caber o maior número possível de linhas na tela do PDP-11 e outras telas alfanuméricas - 80 caracteres * 25 linhas. A propósito, aqui está um link para o livro, talvez alguém o ache útil http://rabus.ru/KernighanRitchie_C/index.html#content

/* подсчет строк, слов и символов */
main()
{
    int с, nl, nw, nc, state;
    state = OUT;
    nl = nw = nc = 0;
    while ((с = getchar()) != EOF) {
        ++nc;
        if (c == '\n')
            ++nl;
        if (c == ' ' || c == '\n' || c == '\t')
            state = OUT;
        else if (state == OUT) {
            state = IN;
            ++nw;
        }
    }
    printf(“%d %d %d\n”, nl, nw, nc);
}

Caso contrário, concordo e já foi escrito cerca de 100500 vezes. Pessoalmente, levo todos os textos de terceiros da MQL para o estúdio e os reformato lá.

 
Alexey Volchanskiy:

Pequena correção, o estilo de códigos da Microsoft não é um padrão da K&R. O padrão K&R é na maioria das vezes uma diferença de formato curly bracketed, é projetado para caber o maior número possível de linhas na tela do PDP-11 e outras telas alfanuméricas - 80 caracteres * 25 linhas. A propósito, aqui está um link para o livro, talvez alguém o considere útil http://rabus.ru/KernighanRitchie_C/index.html#content

Caso contrário, concordo e já foi escrito cerca de 100500 vezes. Pessoalmente, levo todos os textos de terceiros da MQL para o estúdio e os reformato lá.

Sim, a diferença está no parêntese de abertura, caso contrário semelhante, é por isso que eu a chamei de "variante".

Seria mais fácil se o ambiente МТ tivesse ferramentas de usuário, para que eu pudesse anexar um embelezador de terceiros, mas isso não é possível. Opcionalmente utilize o editor de terceiros com suporte de saída stdout das ferramentas do usuário (Editplus é um clássico, mas há soluções mais interessantes), mas é apenas uma muleta extra. Eu uso Unscrutify configurado no UniversalIndentGUI.

 
 
urusov:

Por favor:

https://www.mql5.com/ru/forum/35326

https://www.mql5.com/ru/forum/1111/

Dizer um idioma comumente usado onde não posso atribuir um endereço diferente a um ponteiro? Dizer um outro idioma amplamente utilizado onde não posso atribuir uma referência do mesmo tipo a um objeto diferente? Onde mais eu seria forçado a descrever um construtor ou função de cópia devido a essas limitações de seu idioma?

E se a controlabilidade é primordial para você, por que outros idiomas controlados não impõem restrições similares?

Pessoalmente, para mim, não é a segurança e a controlabilidade que vem primeiro, mas a velocidade com que posso implementar uma idéia; isto é extremamente verdadeiro no contexto de idéias comerciais; aqueles que discordam disto ou superestimam o valor de seus sistemas, ou programam por causa da programação, não um resultado específico.

C# você sabe, agora é uma linguagem industrial, já substituiu em grande parte o C++ em aplicações de negócios/internet. Portanto, não há indicadores, ou melhor, eles estão lá, mas são inseguros, e ninguém precisa de código inseguro, apenas para artesanato pessoal.
 
Alexey Volchanskiy:
C# você sabe, agora é uma linguagem industrial, já substituiu em grande parte o C++ em aplicações de negócios/internet. Portanto, não há indicadores, ou melhor, há, mas são inseguros, e ninguém precisa de código inseguro, apenas para artesanato pessoal.
alguma vantagem do c sharp para pessoas comuns?
 

E por que um ponteiro nu é tão ruim? Se você não fizer com otimizações rigorosas de alias, as indicações são bastante seguras em geral (a msvc fez isso).

De modo geral, toda essa conversa sobre segurança é apenas um véu sobre as verdadeiras razões, como foi dito antes. E a razão é simples, eu acho - não permita saber de forma alguma endereços de funções a serem passadas para dll. Um sistema enterrado não precisa do mundo exterior.

 
Ou o MC está bem com colbacks normais? Eu tenho uma idéia, o assunto está fora dos limites?
 
Alexey Volchanskiy:
C# você sabe, agora é uma linguagem industrial, já substituiu em grande parte o C++ em aplicações de negócios/internet. Portanto, não há indicadores, ou melhor, eles estão lá, mas são inseguros, e ninguém precisa de código inseguro, apenas para artesanato pessoal.

A propósito!

Era uma vez uma comparação das línguas C e Pascal

A língua C está dirigindo uma Ferrari em uma estrada de montanha a 180 km/hora,

e a língua Pascal é um passeio tranqüilo em uma limusine em uma estrada larga e de sentido único a 40 km/h.

C foi feito para ser, como, uma linguagem de homem de verdade).

No C, você tem que manter os olhos nos postes de sinalização :-) A linguagem C não é para os fracos de coração, porque se você não seguir as placas de sinalização corre o risco de sair da pista em uma curva de grampo de cabelo.

C é a linguagem dos sistemas operacionais e utilitários, drivers. C foi originalmente escrito por profissionais que escreveram os sistemas operacionais e utilitários para os usuários.

Pascal foi originalmente escrito em C para estudantes. Pascal foi escrito como uma linguagem instrucional.

A diferença no propósito e no uso das ferramentas é óbvia.

A MQL é essencialmente uma derivada da C , a escolha dos desenvolvedores da MetaQuotes é profissionalmente muito correta.

 
Yuriy Zaytsev:

A propósito!

Era uma vez uma comparação de C e Pascal .

A linguagem C é como uma verdadeira Ferrari dirigindo em uma estrada de montanha a 180 km/hora,

e a língua Pascal é um passeio tranqüilo em uma limusine em uma estrada larga e de sentido único a 40 km/h.

C foi feito para ser, como, uma linguagem de homem de verdade).

No C, você tem que manter os olhos nos postes de sinalização :-) A linguagem C não é para os fracos de coração, porque se você não seguir os sinais você corre o risco de sair da pista em uma curva de grampo de cabelo.

C é a linguagem dos sistemas operacionais e utilitários, drivers. C foi originalmente escrito por profissionais que escreveram os sistemas operacionais e utilitários para os usuários.

Pascal foi originalmente escrito em C para estudantes. Pascal foi escrito como uma linguagem instrucional.

A diferença no propósito e no uso das ferramentas é óbvia.

A MQL é essencialmente uma derivada da C. A escolha dos desenvolvedores da MetaQuotes é profissionalmente muito correta.

Que diferença faz em que idioma escrever?

(Afinal, você pode escrever motoristas e tudo mais em Pascal).

É importante entender o que e como você faz, e a linguagem de programação é uma questão dupla!