-w3 -es2 e code folding

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

-w3 -es2 e code folding

Mensagem por JoséQuintas »

Estou numa situação prática disso, então aproveitando pra postar.

Um erro na compilação -w3 -es2
w3es2.png
Agora usando code folding, que "fecha" os IF/ENDIF ou blocos de mesma "indentação".
w3es2-2.png
Chamo isso de tolerância zero.
Não causaria erro de execução, mas está atribuindo .T. pra l_Achei duas vezes, o que é inútil, bastava uma vez só.
Num fonte grande, fica difícil enxergar isso.
Se fosse um editor de textos dos tempos do DOS, de 24 linhas, quase que ficaria uma linha em cada página do editor.

O recurso de code-folding é interessante pra reduzir a visualização, ajuda em certas situações.

O recurso de checagem -w3 -es2 ajuda a deixar o fonte mais limpo.
Como eu já disse várias vezes, é como se fosse um ajudante, e o preço que ele cobra é declarar as variáveis no fonte.
Vai estar sempre conferindo seu fonte, sem deixar passar nada.

Nem pense que dá pra fazer isso de um dia para o outro.
É começar a usar a compilação -e3 -es2 em um fonte de cada vez.

Mas vale a pena, afinal, um ajudante pra conferir nossos fontes (ou de terceiros) "embutido" no computador é demais !!!!

E o code-folding... só aproveitei pra mostrar, porque é uma situação interessante pra visualizar melhor o ocorrido.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

-w3 -es2 e code folding

Mensagem por alxsts »

Olá!

Certamente quando as ferramentas de trabalho ajudam, o serviço sai mais rapidamente e com mais qualidade.

Usando o VSCode (Visual Studio Code) configurado para Harbour, não precisa nem compilar. Ao salvar, ele já mostra os erros e warnings. Ótimo editor. Super flexível, tem tanto recurso que nem consigo enumerar. Adicionando extensões, é possível compilar e debugar sem sair da janela dele. Ainda não consegui estudar isto a fundo mas tem que baixar um fonte do Git (Antonio Perricone) e compilar gerando dele uma LIB. Quando precisar debugar no VSCode, incluir na compilação do aplicativo esta lib gerada, da mesma forma como se faz no Clipper ao adicionar CLD.Lib.
Editando um arquivo para exemplo...
Editando um arquivo para exemplo...
No painel à esquerda, lista de funções, procedures, classes, métodos e variáveis. Sublinhados à direita erros (em vermelho) e warnings (em verde). Note que neste painel, item "Editores Abertos", o nome do arquivo em edição está em vermelho e existe, à frente dele, um indicador da quantidade de erros contidos no arquivo. Abaixo, no item "Contorno", a função Main também está em vermelho e contem um contador de erros nela contidos. No caso, os mais de 9 erros contidos no PRG estão todos na função Main.
No painel à esquerda, lista de funções, procedures, classes, métodos e variáveis. Sublinhados à direita erros (em vermelho) e warnings (em verde). Note que neste painel, item "Editores Abertos", o nome do arquivo em edição está em vermelho e existe, à frente dele, um indicador da quantidade de erros contidos no arquivo. Abaixo, no item "Contorno", a função Main também está em vermelho e contem um contador de erros nela contidos. No caso, os mais de 9 erros contidos no PRG estão todos na função Main.
Pausando o mouse sobre a linha sublinhada exibe a descrição do erro. No caso, PUSHBUTTON foi escrito PUSH BUTTON
Pausando o mouse sobre a linha sublinhada exibe a descrição do erro. No caso, PUSHBUTTON foi escrito PUSH BUTTON
No caso dos warnings, a variável GetList não foi declarada localmente
No caso dos warnings, a variável GetList não foi declarada localmente
Painel lateral do debugador (processo de debuggar ainda não iniciado)
Painel lateral do debugador (processo de debuggar ainda não iniciado)
Tela que gerencia as extensões instaladas ou que se queira instalar.
Tela que gerencia as extensões instaladas ou que se queira instalar.
Fora o que já se postou a respeito, como integração com banco de dados, etc...

Muito show de bola. Nem precisa de IDE específica para xBase. E hoje é primeiro de janeiro e não primeiro de abril.

Desejo um feliz 2019 a todos!

VSCode
[]´s
Alexandre Santos (AlxSts)
Responder