Escolar Documentos
Profissional Documentos
Cultura Documentos
com
APRENDER A
CÓDIGO
12 Regras para
Aprenda a codificar
Dra. Angela Yu
Instrutor líder de desenvolvimento de iOS,
WatchOS e Web na The App Brewery
www.appbrewery.co
Conteúdo
6. Seja um imitador
8. Continue aprendendo
9. Jogue pebolim
passou um fim de semana inteiro na academia, você não verá uma diferença visível
seu corpo. Quanto mais regularmente você aprender a codificar, mais provável será que
você começará a ver seus músculos de codificação rasgados. (A ironia não passa despercebida
mim).
coisas, como comer. Então isso me deixou com apenas 9 horas restantes no meu dia.
Teoricamente, 2 horas poderiam ser alocadas para a prática de codificação e 7 horas para
dorme. Mas não há nada mais difícil do que tentar convencer seu
cérebro saturado de trabalho para sentar e aprender quando você poderia estar assistindo
Como humanos, temos muita inércia. Isso pode ser ruim para nós - estou olhando
você, conjunto de caixas “24”. No entanto, também podemos usar isso a nosso favor. eu encontrei
Então, como tiramos vantagem dessa inércia? Primeiro, você deve entender
que a troca de tarefas é muito difícil. Requer muita motivação. se assim que
ao chegar em casa, você se joga no sofá e liga a TV, você
já perdeu naquela noite. Isso ocorre porque a quantidade de motivação necessária
para mudar de tarefa e fazer algo não impulsionado pela evolução, como comer ou
É por isso que no momento em que você entra pela porta e muda para um novo
mais. Nenhum cérebro perceberá uma tarefa de 20 minutos como muito esforço e você termina
usou este próximo truque para muitas coisas diferentes, desde o exercício até a codificação,
invariavelmente funciona como um encanto. Para começar este truque, quero que você imagine um
parede com cinco pinturas penduradas, quatro das quais perfeitamente alinhadas,
perfeitamente horizontal, mas um é torto. Agora realmente imagine isso, há uma parte
linha até aquele dia. Se você continuou sua seqüência no dia seguinte, então você
perceber o que está acontecendo. Muitos iniciantes começam a aprender a codificar escolhendo
vezes para encontrar todos os números pares. Mas você sabe o que? eu posso encontrar primo
Aqui está a verdade. Se você está aprendendo a codificar por aprender a codificar,
será muito difícil para você ficar bom nisso. Habilidades que exigem muito
tempo para aprimorar, como programação, vai comer em seu pool de
motivação. Algo interior que faz você esquecer de comer e dormir. EU
posso dizer honestamente que codificar em meus próprios projetos é uma das atividades mais
coisas agradáveis que faço. Combina pensamento lógico com criatividade e, ao mesmo tempo,
final, você terá feito algo. Na maioria dos casos, algo que o
mundo nunca viu. Algo que poderia tornar sua vida mais fácil ou mais
agradável. Algo que poderia facilitar a vida de muita gente e
mais agradável. É como fazer uma linda moto customizada em seu
garagem, sem precisar da garagem nem gastar um centavo com os componentes.
Isso é o que motiva a maioria das pessoas. A parte criadora. A parte de fazer. Então eu
contanto que no final do tutorial você tenha feito algo que possa usar
e brincar, você ficará muito mais motivado para codificar até o fim.
Durante todos os nossos cursos, sempre pedimos aos nossos alunos que pensem em uma simples
aplicativo que eles querem fazer. Algo que usa as habilidades que eles têm
aprenderam durante o curso, mas também vão alongá-los um pouco porque eles têm
Tem aluna que fez um aplicativo de slideshow personalizado como presente de dia das mães
Não há limites para a sua imaginação. Vai ser difícil quando você começar
trabalhando em seu próprio aplicativo porque não há instruções passo a passo,
mas também trará a maior melhoria em sua capacidade de codificação.
Sempre que faço grandes palestras, sempre haverá uma pessoa que me pergunta
percepção comum de que em algum lugar existe uma linguagem perfeita para
programadores iniciantes. Alguns argumentam que é Python, outros dizem que é Swift.
Uma linguagem de programação é simplesmente uma ferramenta. Não é diferente de nenhum outro
ferramenta em sua caixa de hardware. Se você quer martelar um prego, você deve ser
usando um martelo. Se você deseja consertar seus canos de água, provavelmente precisará de um
Um desenvolvedor web lhe dirá que JavaScript é a melhor linguagem para aprender
Um iniciante. Um estatístico irá aconselhá-lo que você estará melhor servido com o R
linguagem de programação. Mas no final das contas, tudo o que importa é o que
você está tentando fazer com sua ferramenta. Se você deseja criar aplicativos para iOS, aprenda
print(“Olá Lobisomens”)
println(“Olá Werwölfe”)
Eu tenho um problema com a maneira como a maioria dos tutoriais de programação são escritos.
Nada corre. As últimas 3 horas foram gastas copiando código e você aprendeu
nada além de talvez essa codificação seja uma merda.
Não caia nesta armadilha. Se você vir um tutorial que salta do iniciante para o
avançado após a linha 3 ou usa a palavra "simplesmente" com muita liberalidade ou não
explicar qualquer um dos seus códigos, então pare. Deixe esse tutorial.
Outras vezes, o autor tenta explicar o que está fazendo. Mas você ainda
não entende nada do que eles estão dizendo, então você está em um nível avançado
tutorial que não vai melhorar sua programação. Pode ser tentador construir
coisas grandiosas, especialmente quando o blog promete que qualquer um pode fazer.
Mas se você não consegue descobrir o que está acontecendo, você será melhor atendido por
essa rampa é muito íngreme, você vai se perder. Se essa rampa for muito rasa, você terá
entediado. O gradiente certo é diferente para todos. É por isso que encorajamos
alunos usem a funcionalidade de mudança de velocidade liberalmente em nossos tutoriais. Esta
forma, você pode ouvir em velocidade dupla se estiver confortável com os conceitos
e diminua para metade da velocidade se for algo desconhecido e você precisar de tempo
compreender e absorver.
Os programadores tendem a ser autocríticos e constantemente sentem que todo mundo está
síndrome .
Sou demitido do Google (ou de outra grande empresa de tecnologia se for pego usando
que não usou Stack Overflow. (Se você não estiver familiarizado, StackOverflow é um
1800, apenas os ricos tinham acesso a bons livros e bons professores. Agora,
todos têm todas as informações que tinham e muito mais com o toque de um mouse.
A informação está perdendo valor, a capacidade de pensar é a ação a ser comprada. Então não
Se você realmente não consegue descobrir, comece com o Google. Pesquise sua consulta ou se
você tem um bug cole os códigos de erro e a mensagem de erro. As chances são
que como iniciante, seus problemas de programação serão muito comuns e
alguém pode até ter se dado ao trabalho de escrever um texto claro e conciso
tutorial para ajudá-lo a entender o seu bug. À medida que você se torna mais habilidoso em
programação, os problemas que você encontrará ficam cada vez mais obscuros,
mas espero que, se você seguiu as outras 11 regras, você também será um
A outra razão pela qual você deve começar com o Google é que o StackOverflow
algoritmo de busca organiza perguntas e respostas por atualidade e não
popularidade. Muitos dos problemas que você encontrará ao começar serão
foram feitas e respondidas anos atrás, mas ainda são muito populares.
quando você mesmo se tornar um mestre do código, estará devolvendo a esse mesmo
era ler um monte de livros. Comprei livros sobre C++, C#, Java e
carrega mais. Você escolhe, eu tinha. Mas eles não fizeram muito além de
me deixando confuso.
Livros são bons como referências. Se você quiser se aprofundar nos delegados e
protocolos, leia o capítulo sobre isso. Mas se você quer aprender,fazer
algo .
Falta de ideias? Seja um imitador. Faça o seu próprio bloco de notas, faça o seu próprio
MSPaint, faça seu próprio piano. Se você gosta de jogos, faça caça-minas,
fazer Tetris, fazer Flappy Bird. Eles não apenas serão úteis, mas
eles também serão a oportunidade perfeita para você descobrir como fazer as coisas
Vamos enfrentá-lo, a motivação interna não é forte em nenhum de nós. Nós sempre podemos
encontrar uma razão pela qual nósmerecepara “Netflix e relaxar”. Eu não posso nem contar como
dependia disso? Você teria ido a alguma das palestras se não tivesse
se importa em passar ou reprovar?
É por isso que tentamos introduzir responsabilidade em nossos cursos. nós temos
percebi que combinar os alunos com um amigo ajuda. Outra pessoa que está
um iniciante, no mesmo nível que você que às vezes ajuda você e outros
vezes precisa de sua ajuda. Às vezes, conforme as taxas de aprendizagem das pessoas divergem ou se
você está emparelhado com um bugger preguiçoso, você pode trocá-lo e obter um novo
auto-seleção para pessoas que trabalham bem em equipe e são motivadas por
A próxima coisa que vou contar será controversa. nós acreditamos que
as pessoas não valorizam coisas que não têm valor. Esta é a razão pela qual
O Coursera está removendo um grande número de seus cursos gratuitos. Eles viram isso
milhões de pessoas estavam se inscrevendo para isso, mas ninguém estava pegando nenhum dos
aulas e muito menos concluir qualquer um dos projetos. Na verdade, foi prejudicial para
aprendizagem dos alunos para oferecer um curso gratuito. Todos nós temos um grau de acumulação
Portanto, se você é movido mais por motivações externas do que internas, tente usar um
uma habilidade de vida vale a pena para você e coloque seu dinheiro onde estão suas intenções.
Veja se você está se envolvendo mais com o conteúdo do curso com ou sem o
compromisso financeiro. Há muitos lugares onde você pode pagar
algo acessível para se motivar a iniciar um hábito regular de aprendizado.
A parte final desta regra é tentar encontrar maneiras de ser avaliado. OK então
ser avaliado está ao lado de morte e impostos em termos de como
muita gente gosta. Mas ao aprender qualquer coisa, é sempre importante
obter feedback. Você receberá uma avaliação objetiva do seu nível de habilidade atual,
App Brewery, usamos a educação do Github para testar seu código e procurar por bugs
tem um sistema como este, então valerá a pena encontrar um mentor de código
que podem revisar seu código e fornecer feedback. Só o que é medido pode
ser melhorado.
Não corra e compre seus sutiãs em forma de cone ainda. O que eu quero dizer é
iniciante novamente.
O mundo vai continuar se movendo, se você ficar em um lugar, você acabará sendo deixado
Objective-C será descontinuado. Todos sabemos que a Apple nunca faz ameaças
que eles não realizam, basta olhar para a unidade óptica (e logo o
plug do fone de ouvido?).
Não seja a unidade óptica. Ou melhor, não seja o laptop que ainda está tentando
reproduzir CDs. Se suas necessidades mudarem, aprenda a usar uma nova ferramenta. Continue aprendendo, fique
relevante.
Quando você vê filmes de Hollywood sobre programadores, eles geralmente estão sentados em
Quando você vêreal programadores trabalhando. Eles tendem a se parecer com isso:
jogando pebolim ou fazendo outra coisa que não pareça trabalho. Pessoas
pode não ser capaz de dizer, mas eles estão de fato funcionando.
como qualquer coisa inesperada por sinal). Como se eles apenas digitassem mil
linhas de uma só vez,einesperadamentenão há erros.
Isso pode parecer pouco intuitivo, mas meu conselho é sempre codificar menos, pense
mais. Uma vez que o código mal pensado é escrito e trazido para o
mundo, você inevitavelmente terá que voltar e vasculhar seu código,
linha por linha, refatorando e excluindo coisas. Isso é sempre doloroso
experiência.
Então lembre-se, o código mais fácil de se livrar é o código que nunca foi
escrito.
maior salto em minhas habilidades de fala. Isso foi ter trocas de idiomas
pelo Skype. Eu faria dupla com um falante nativo de francês que quisesse
aprender inglês. Passávamos meia hora falando francês e meia
hora falando inglês. Nós dois dedicávamos uma hora por semana para
melhorando a linguagem que estávamos tentando aprender.
são escritos.
horas.
e levá-lo a copiá-lo. Mas isso não ajuda você. Em vez disso, se você me mostrar
como você aborda o problema e eu mostro como eu abordo o problema
então você pode aprender muito mais do que apenas seguir uma receita.
Na próxima vez que encontrar um problema diferente, você pode aplicar o mesmo
provavelmente tinha que ser um aristocrata, ou cortar lenha e carregar água para um mestre
e tornar-se seu aprendiz. Hoje em dia eu posso pesquisar no Google e obter o meu
alguém, “quer ser meu mentor?”. Ninguém quer jogar fora seu livre
Então você tem uma ideia incrível de aplicativo. Mas é muito complicado
para o seu nível de habilidade atual. O que você faz? Você se junta ao Chunking Express.
Não, não estou falando sobre o filme de arte. eu estou falando sobre quebrar
para baixo o seu problema de programação.
Digamos que você esteja tentando fazer um robô que passe manteiga em torradas. (Se alguém
conseguir algo tão simples quanto passar manteiga em uma torrada. (Isso é provavelmente
Então criar um robô que faça tudo isso de forma autônoma é muito complicado
e difícil. Mas como somos bons programadores, podemos dividir e
quebrar o problema.
difícil).
Em seguida, você divide cada módulo ainda mais. No processo, você pode
pense em maneiras alternativas de resolver o problema. Por exemplo, será que o
robô precisa “passar” a manteiga? Ou pode apenas derreter a manteiga no
torrada? Precisa aprender a pegar uma faca? Ou pode ter algum tipo de
braço de faca embutido, como uma espécie de pirata de prisão?
Então, da próxima vez que você estiver tentando fazer aquele “cruzamento entre Snapchat
Uma das etapas mais importantes a serem seguidas para passar de programador
aprendiz a programador completo é entender como obter ajuda. Todos precisam de
ajuda. Todos, incluindo os chamados “programadores de nível divino”.
Mas o que você fizer com a ajuda determinará a rapidez com que progredirá como
codificador. Em um site como o StackOverflow, pode ser muito tentador apenas copiar
e colar o código que alguém forneceu. Seu programa funciona exatamente como você
esperava e você segue seus alegres caminhos de programação. Este exercício não
ensinou nada além de confiança no código. Porque da próxima vez que você encontrar
o mesmo problema, mas em uma situação diferente, o mesmo trecho de código que
alguém forneceu pode não funcionar mais. Então o que você faz? Você está preso.
É por isso que existe uma regra na programação que diz “nunca copie e cole código
que você não entende”. Então, o que você deve fazer quando se depara com um bloco
de código que resolve seu problema, mas não tem ideia de como ele funciona?
Quebre isso.
Passo 1 - Copie e cole o código em seu programa. (sim, sim, eu sei que acabei de dizer
para não fazer isso, paciência, paciência).
Etapa 5 - Mesmo que você ache que sabe o que uma linha de código faz, exclua-a de
qualquer maneira. A tarefa mais importante como programador é sempre testar
suas suposições em relação ao resultado. Pois a sensação mais agradável de um
programador é ver o mundo real validar suas suposições. Você sabe como é bom
quando seu namorado/namorada/marido/esposa diz aquelas três palavras
mágicas?
Passo 6 - Troque algumas das linhas ao redor. A mesma funcionalidade pode ser
alcançada com uma ordem diferente de linhas? Por que eles foram escritos na ordem em
que foram escritos?
Ao quebrar o código da solução, linha por linha, você aprenderá e entenderá o que
cada linha faz e por que foi escrita. Esta é uma maneira muito melhor de usar o código
de outras pessoas do que apenas colá-lo e esperar o melhor. Depois de entender por
que cada uma dessas linhas foi necessária, na próxima vez que encontrar um problema
semelhante, você poderá desvendá-lo e resolvê-lo sozinho.
Então, como você pode usá-lo para se tornar um programador melhor? Digamos que
você queira fazer um clone do Instagram. Mas, infelizmente, você não sabe como fazer
isso. Então você vai até github.com e pesquisa “Instagram” ou “aplicativo de fotos”.
Quando você começa a ficar realmente bom nisso, a próxima coisa que pode tentar é a
engenharia reversa. Encontre um pequeno projeto no GitHub feito por um programador
respeitável, baixe o aplicativo. Execute-o e veja todas as suas funcionalidades. Brinque com
isso.
Em seguida, crie-o do zero e, quando terminar, compare seu código com o código deles.
Existem ganhos de eficiência que você poderia ter obtido? Existem soluções para coisas que
você não conseguiu descobrir? Agora você está realmente entrando nas grandes ligas.
www.appberwery.co