Pular para o conteúdo principal

LÓGICA DE PROGRAMAÇÃO


Na programação, em sua essência, a lógica é um dos principais pilares. Existem conceitos acerca da lógica, para Aristòteles, a lógica não era uma ciência e sim um instrumento (órganon) para o 'correto pensar'.

    O 'correto pensar' é uma base incrível para iniciarmos uma conversa acerca da lógica, durante os meus estudos, pude observar que existia um consenso entre os programadores sobre o processo da programação, existem vários passos que devem ser cumpridos antes de irmos para o código.

    Particularmente gosto de criar uma linha do tempo para o estudo, o que preciso aprender antes de passar para o próximo passo, ou fase, assim temos que pensar ao codar, existe um caminho a ser percorrido antes irmos codar, eu separei este processo em 5 partes, sendo elas:

1. Tempo

    O fator tempo é crucial para a performance do programador, você como trainee perceberá como isso faz sentido no dia a dia, um chamado que você levará 4 dias para resolver, um júnior levará 4 dias também, um pleno 2 dias, um sênior 15 minutos, esta metáfora é um exagero claro, mas quanto mais experiente, mais óbvio o caminho que leva a solução se tornará!

    Dê tempo ao tempo, utilize os recursos que estão a sua mão (Ei Google! Sou teu fã), busque o máximo possível de conhecimento, estude em todo tempo, lembre-se que o fator tempo é essencial, mas o fator estudo se sobrepõe ao tempo, pois quanto mais estudo, menos tempo será necessário para chegar a solução.

2. Analise crítica

    Saber analisar e resolver um problema é mais importante que decorar os comandos de uma linguagem de programação, por mais óbvio que pareça! Nós Beta ABAP's sentimos uma intensa e até verdadeira vontade de codar, de mergulharmos no código, mas isso é a última parte do processo na programação.

    É essencial que possamos criar um olhar crítico para o problema ou necessidade que nos foi proposta, analisar o 'chamado' é o primeiro passo no caminho para a solução, não adianta ficar 10 horas codando um código sem saber onde chegar!

    Entenda o 'ponto de partida', analise junto do funcional as questões relacionadas ao chamado, se pergunte o porquê das coisas, das necessidades, funções e o que for necessário para estar claro em sua mente.

    Essas são algumas situações normais, principalmente paras nós, Trainee's, não se preocupe caso isso aconteça, procure ajuda em seu tutor ou no Sênior mais próximo.

    • Escreverá o código lentamente.

    • Resolver os mesmos problemas em situações diferentes.

    • Vai se achar incapaz ou insuficiente. Eu digo que o programador tem o sintoma das duas faces, do burro, após ficar 3 horas codando e o código possui um erro 'invisível', e, ao mesmo tempo, a face de um deus, pois no momento em que você descobre que faltava apenas aqueles dois pontos após o comando, a sensação de sucesso nos toma por completo.

3. Os 5 Q's!

   Existe uma ferramenta que nos ajuda a formar o nosso pensamento crítico, a primeira vez que eu ouvi sobre a técnica dos cinco Q's pensei, bacana, agora consigo facilitar a minha vida, e realmente, existem alguns passos, que inicialmente serão executados de maneira processual, você irá se perguntar, dentro de si, estas cinco perguntas,  mas com o tempo, isso fará parte do seu modo de pensamento lógico!

    E essas são às cinco perguntas que temos que nos fazer ao recebermos um problema em nossas mesas!

            1. Quais são os dados de entrada necessários?
          2. O que devo fazer com estes dados?
          3. Quais são as restrições deste problema?
          4. Qual é o resultado esperado?
          5. Qual é a sequência de passos a serem realizados para chegar ao resultado esperado?

4. Solucione o problema mentalmente

    Essa hora é incrível, é agora que observamos uma pequena luz no fim do túnel da dúvida, após utilizarmos a nossa bagagem de conhecimento na análise do código, nos fazermos as perguntas que nos guiarão a este brilhante momento, você percorreu o caminho que te leva a uma vaga possibilidade de solução.

    É possível que solução que você imaginou realmente se aplique, pode ser que após horas em frente ao computador debugando linhas e linhas de código te leve para um lugar mais profundo, obscuro e você sentir um frio na barriga só de imaginar o tamanho do problema que está em suas mãos agora!

    Loucura ou não, as nossas experiências passadas facilitam as tomadas de decisões no futuro! Uma dica, quanto mais experiências, sejam boas ou ruins, elas construirão o seu repertório, criando assim uma 'biblioteca mental' de possíveis caminhos para serem seguidos, chegando assim na solução do problema!

5. Codar, Codar, Codar e Codar! 

    Chegou o momento que todos estávamos desesperados para começar, vamos direto para a transação SE38 ou SE80 ou qualquer uma em que seja possível codar, você já sabe, ou tem a mínima noção do que deve ser feito para chegar a solução, vai lá jovem padawan, code e seja feliz! ou perca noites de sono, afinal, é disso que nós gostamos! 

Comentários

Postagens mais visitadas deste blog

ATALHOS NAS JANELAS

Todo programador tem o seu atalho favorito, seja ao inciar o programa ou para acelerar os processos, e bem, o SAP possui atalhos que facilitam o nosso dia a dia.      Hoje estarei apresentando os principais atalhos que utilizamos para janelas, seja para abrir uma nova transação ou janela e até fechar todas elas no final do dia, lembrando que estes atalhos devem ser acrescentado a barra antes do comando, para que a SAP identifique que será um comando a seguir. Chamar uma nova transação: Na mesma janela.               /n (código de transação) Na mesma janela, a primeira tela é ignorada.                /* (código de transação) Em outra janela              /o (código de transação) Encerrar a transação atual.                /n Eliminar o modo (Janela) atual.              /i Gerar...

COMANDOS DE MODULE POOL

Todos nós gostamos de um comando, a sintaxe em si parte deles, e nada melhor do que conhecer novos comandos, hoje eu separei alguns do Module Pool, espero que gostem! ABAP_DOCU_DOWNLOAD - Documentação do Download ABAP no formato do HTML. ARFC_GET_TID - retornará o IP address do terminal no hex. BAL_* - Todos os módulos da função usados para registrar da aplicação. BP_EVENT_RAISE - Provocar um evento do programa ABAP/4 BP_JOBLOG_READ - Buscar execuções do registro de trabalho CLOI_PUT_SIGN_IN_FRONT - Colocar o sinal negativo após um número. O defeito de SAP é lugar o sinal negativo após o número. CLPB_EXPORT - Exportar uma tabela do texto para a prancheta (no usuário da apresentação) CLPB_IMPORT - Importam uma tabela do texto da prancheta (no usuário da apresentação) COMMIT_TEXT - Ao texto longo da carga em SAP CONVERSION_EXIT_ALPHA_INPUT - conversos algum número em uma suficiência da corda com zero-direito exemplo: entrada = 123 saída = 0000000000000… 000000000000123 CONVERSION_EXI...

ALV EASY

    Existe algo que iremos sempre nos deparar no dia a dia como ABAP's, o tal do ALV, ele que fica na nossa mente quando dormimos depois de um longo dia de estudos.      Quando assisti a primeira aula de ALV , pensei, precisarei disso com frequência, então comecei a estudar sobre este assunto, percorri diversos blogs, desde os mais populares até os esquecidos, seja pelo tempo ou por seus responsáveis, eu sempre tenho um ' programa de testes ' onde coloco todas as linhas de código que encontro, edito conforme a minha necessidade, e com isso, percebi um monte de código 'furado', alguns não funcionavam, outros também não hehe, isso é comum, porém encontrei um que foi a minha salvação!      No blog do Furlan, ABAP 101 , ele descreve sobre o ' ALV mais fácil do mundo! ', e por incrível que pareça, sim, este é um ALV muito simples de ser usado, utilizando a classe CL_SALV_TABLE você abap irá construir o seu ALV de maneira fácil e rápida! Este é ...