antiblock
Rodnia | Alpha & Omega

thecrazy

Membro Plus
  • Content Count

    2,834
  • Joined

  • Last visited

  • Days Won

    29

Reputation Activity

  1. Upvote
    thecrazy reacted to 'PACI in Thw Global - Ganhar Dinheiro   
    "Trabalhar", ver vídeos e comentá-los.. Ou seja, pagam-te para fazeres o que fazes diariamente, coçá-los.
    Preguiçosos isto é para vocês.
  2. Upvote
    thecrazy reacted to NewWars in Estruturação Visual De Código   
    Boas pessoal.

    Este tópico é sobre Estruturação Visual de código, ou seja, a "beleza visual" que código de programação em qualquer língua geral com sintaxe "mais agradável" à vista de um humano.

    O tópico vai se aplicar a sintaxes com estilo semelhantes a C++, PHP, HTML, Java, Python, etc, normalmente as sintaxes que qualquer linguagem de programação não são muito distantes ao o que vai ser apresentado neste tópico.

    Eu vou fazer exemplos com as seguintes linguagens e vou explicar porque em cada:

    C#
    Podia fazer sobre C++, mas visto que a sintaxe em C, C++ e C# é completamente igual, praticamente muitas poucas coisas mudam, dá para abranger todas estas.

    Python
    Escolhi python porque creio que é bom também para alguns iniciantes em Python verem o tópico para aprenderem o pouco, ao contrário da linguagens que me refiro, o python OBRIGA a embelezar o código, porque invés de usar alguns " caracteres chave" para saber o que é um função ou um bloco lógico ou etc, ele usa os TABS(\t), Nova Linha[\r \n \r\n](\r significa CR(Nova linha em Mac OS, \n significa LF(Nova linha em Mac OS e Unix) e \r\n significa CR + LF(Nova linha em Windows))

    Lua
    Escolhi Lua porque é uma linguagem muito livre em termos de visualização e sintaxe, é mais baseada em puro inglês e menos caracteres especiais para se guiar.

    Java
    Para deixar o tópico mais completo, apesar de a sintaxe não ser muito distinta de C# e semelhantes.

    Ora vamos começar

    Primeiro vamos ver sobre os tabs ou espaços, qual é a diferença?
    Bem, a diferença entre tabs e espaços, é que os tabs alinham o código automaticamente conforme os tabs dados óbvio, enquanto os espaços são inconstantes

    Um pequeno exemplo com um texto no notepad++:



    Atenção, se usam notepad++ aconselho que liguem a opção de mostrar tabs e espaços, em Ver -> Mostrar Símbolos -> Mostrar Espaços Brancos e TAB e Mostrar guia/linha de indentação.

    Como podem notar na imagem acima, uma linha equivale a 4 espaços, mas isso não significa que o código está propriamente indentado, enquanto o TAB é automático, os 4 espaços não, segue um exemplo abaixo:



    Como podem ver, quando usei os tabs, simplesmente dei 2 tabs e ficou automaticamente espaçado e organizado, enquanto com os espaços, dei 8 espaços na primeira linha, mas na segunda só dei 6 espaços, o que podia ficar igual visualmente mas a diferença é que ao voltar a mexer neste sitio, tenho que voltar a reajustar os espaçamentos 1 a 1, o que é uma boa quantia de tempo gasta se feito em imenso código e de certeza irá acontecer.


    Onde e quando se deve aplicar tabs?
    Os tabs devem se aplicar em todos os casos em que uma parte do código contenha instruções dentro do mesmo, como funções, classes, estruturas, enumerações, tabelas, operações lógicas(if blocks), ciclos(for loop, foreach loop, while loop), tentativas de execução de código com esperança de possível excepção(try-catch), etc.

    Um exemplo com uma classe(C#, Python e Java):
    C#


    Python

    Lua


    Java

    Nota: Não mostrei em Lua porque a maneira de criar classes em lua é diferente e nem sempre precisa, eu nunca usei tecnicamente classes em lua, uso uma referência direita a um ficheiro.

    Atenção, nem sempre é preciso é precisar inserir uma nova linha após as chavetas, normalmente só se aplica em classes, funções, inicio de uma lista(irei mostrar a seguir).

    Um exemplo com uma função(C#, Python, Lua e Java):
    C#


    Python


    Lua


    Java



    Este exemplo não precisa de muita descrição, está simples e fácil de entender, seguinte.

    Um exemplo com uma operação booleana(if block)(C#, Python, Lua e Java):
    C#


    Python

    Lua


    Java



    Mesmo quando aplicamos uma condição dentro de uma condição booleana, os tabs devem ser aplicados igualmente como no exemplo 2 da imagens acima.

    NOTA: Se for uma operação booleana que simplesmente faça return, podem meter tudo como no exemplo 3 das imagens acima.


    Um exemplo com um ciclo(for loop/foreach loop são indentados igualmente, só irei mostrar o for loop)(C#, Python, Lua e Java):
    C#


    Python


    Lua


    Java



    Os exemplos acima são idênticos aos da operação booleana(if block).


    Um exemplo com uma tentativa de execução de código com possível excepção esperada[try-catch](C#, Python e Java):

    C#


    Python

    Lua


    Java

     
    Também sem muito a apontar, é idêntico a uma operação booleana com if-else


    Um exemplo com uma tabela(C#, Python e Lua):

    C#


    Python


    Lua


    Java




    No caso das tabelas, mais propriamente no caso em Lua, C# e semelhantes, a disposição e indentação das tabelas depende do estilo de cada pessoa, pode variar abertamente.


    Conclusão

    Com este tópico foi possível abranger uma boa quantidade de exemplos para a estruturação visual de código de programação, podia encobrir mais aspectos mas acho que em algumas partes é de preferência de programador para programador.

    Tentei fazer o tópico em o máximo de português possível, mesmo no código, mas eu estou habituado programar totalmente em inglês porque creio que seja muito melhor, e deveria ser um hábito geral.

    Eu sou fanático por código organizado, nos meus trabalhos sempre prezo pela elegância do código porque facilita imenso uma vista de olhos rápido ou demorada, simplesmente é bom ter o código fácil de visualizar, organizado.

    Agradeço ao @Cσяvσ⋆ pelo código em Java,
    E agradeço ao  pela falta de try-catch e class em Lua e correcção de erro.
     
    NOTA: Ainda vou adicionar mais uma parte em que combino tudo e faço outra combinação total possível, mas noutro dia.
    Se notarem algo mal feito no tópico, por favor comentem, fiz isto num dia de direta, pode ter falhado algo.


    Cumprimentos.
  3. Upvote
    thecrazy reacted to LordKS in Jogo Do N+1   
  4. Upvote
    thecrazy reacted to SuperSwine in Ajuda - Metin2 Switchbot   
    Tópico ai do parceiro, Finder.  Já que ele dizia não ser capaz de postar '-'
    ___________________________________________________________________
     
     
    Boas, estou com dificuldades com o SwitchBot do MkMt2 no Client by Raizen v2.     Gostaria de ajuda de algum membro, pois o Switch abre no jogo, porém não roda os itens.     Obs: Já tentei adicionar a flag e antiflag no arquivo switchbot.py     Desde já, agradeço.     Link switchbot: http://www.4shared.c..._re-upload.html     Imagem:     http://i.imgur.com/FtsDRTb.jpg
  5. Upvote
    thecrazy got a reaction from SuperSwine in Ajuda - Metin2 Switchbot   
    Sempre a ajudar o pessoal, é assim mesmo mano !   
  6. Upvote
    thecrazy reacted to Annie in Orçamento 400€ E 450€ - Julho 2016   
    Boas, hoje trago mais uma build "console killer", num orçamento semelhante ao preço das consolas atuais.
     
    O objetivo desta build era de NÃO passar os 400€.
     

    Nota: Trocar a VS350 por uma XFX TS 430W! São só +4€
     
    E o que é que um G4400 com uma GTX 950 roda perguntam-se vocês?
    Por exemplo:
     
     
    Call of Duty Black Ops 3 @ 1080p
     
    Crysis 3 @ 1050p
     
    ----- / -----
     
    E com 450€ já dá para colocar uma GTX 960 com 8GB de RAM :)

    Nota: Trocar a VS350 por uma XFX TS 430W! São só +4€
     
    E mais alguns benchmarks:
     
     
    Tomb Raider
     
    Metro Redux
     
    Como a tecnologia é barata nos dias de hoje.
  7. Upvote
    thecrazy reacted to NewWars in Ae Gm Tira Meu Ban Ae   
    por vaour , tira meu bane aeo
  8. Upvote
  9. Upvote
    thecrazy reacted to Cσяvσ⋆ in [Book]Falhanços, Revelações, Burrices, Etc [Cg.Org]   
    HAHAHAHAHAHAHAHA
  10. Upvote
    thecrazy reacted to Loading in ¯\_(ツ)_/¯   
  11. Upvote
    thecrazy got a reaction from Snooke in [Book]Falhanços, Revelações, Burrices, Etc [Cg.Org]   
    ¯\_(ツ)_/¯

  12. Upvote
    thecrazy got a reaction from Loading in ¯\_(ツ)_/¯   
    ¯\_(ツ)_/¯




  13. Upvote
    thecrazy got a reaction from Loading in ¯\_(ツ)_/¯   
    ¯\_(ツ)_/¯




  14. Upvote
    thecrazy got a reaction from Loading in ¯\_(ツ)_/¯   
    ¯\_(ツ)_/¯

  15. Upvote
    thecrazy got a reaction from Snooke in ¯\_(ツ)_/¯   
    ¯\_(ツ)_/¯

  16. Upvote
    thecrazy got a reaction from Snooke in [Book]Falhanços, Revelações, Burrices, Etc [Cg.Org]   
    ¯\_(ツ)_/¯

  17. Upvote
    thecrazy got a reaction from Loading in ¯\_(ツ)_/¯   
    ¯\_(ツ)_/¯

  18. Upvote
    thecrazy got a reaction from Loading in ¯\_(ツ)_/¯   
    ¯\_(ツ)_/¯

  19. Upvote
    thecrazy got a reaction from Loading in ¯\_(ツ)_/¯   
    ¯\_(ツ)_/¯

  20. Upvote
    thecrazy reacted to Loading in ¯\_(ツ)_/¯   
    ¯\_(ツ)_/¯ 

  21. Upvote
    thecrazy got a reaction from Snooke in ¯\_(ツ)_/¯   
    ¯\_(ツ)_/¯

  22. Upvote
    thecrazy reacted to Snooke in ¯\_(ツ)_/¯   
    ¯\_(ツ)_/¯   
  23. Upvote
    thecrazy got a reaction from Snooke in ¯\_(ツ)_/¯   
    ¯\_(ツ)_/¯

  24. Upvote
    thecrazy reacted to Loading in Critérios Do Exame Nacional De Português 2016   
    Não entendo esse conselho de vocês de "perguntas com rasteiras", pois o objetivo deles não é tu errares mas sim saberem se realmente sabem do que estás a falar...
     
    Simplesmente IZI
     
    ¯\_(ツ)_/¯
  25. Upvote
    thecrazy got a reaction from Loading in Critérios Do Exame Nacional De Português 2016   
    ¯\_(ツ)_/¯