GithubHelp home page GithubHelp logo

katas.go's Introduction

katas.go

Éste es un repositorio inspirado en Code Kata. Se espera que los ejercicios propuestos se practiquen usando el lenguaje de programación Go.

Una kata de código es un ejercicio de programación que ayuda al programador a mejorar sus habilidades a través de la práctica y la repetición.

En la industria del software tomamos desarrolladores capacitados en la teoría y los arrojamos a las profundidades, trabajando en un proyecto. Eso es como tomar un grupo de niños en forma y decirles que tienen 60 minutos para vencer a un equipo profesional de fútbol americano. En el software, hacemos nuestra práctica en el trabajo, y por eso cometemos errores en el trabajo. Tenemos que encontrar maneras de dividir la práctica de la profesión. Necesitamos sesiones de práctica.

La Kata

¿En qué consiste una buena sesión de práctica? Se necesita algo de tiempo sin interrupciones, y una cosa sencilla que quieras intentar. Tienes que intentarlo tantas veces como sea necesario y acostumbrarte a cometer errores. Tienes que buscar retroalimentación para que así puedas mejorar. Es necesario que no haya presión: por eso es difícil practicar en un ambiente de trabajo. Ayuda mantener el ambiente divertido: haz pequeños progresos cuando sea posible. Reconocerás una buena sesión de práctica porque saldrás de una sabiendo más que cuando entraste.

En karate, una kata es un ejercicio en el que repites una forma muchas, muchas veces, haciendo pequeños progresos cada vez. La idea detrás de una kata de código es similar. Ejercicios cortos, tal vez de 30 minutos ó 1 hora de duración. Puedes ser programados de muchas maneras. Algunos no son conclusivos, y se tratan más bien de pensar en cuestiones más allá de la programación. Probablemente éstos no tengan una única respuesta correcta.

El punto de una kata no es llegar a una respuesta correcta. El punto es todo aquello que aprendes mientras tanto. El objetivo es la práctica, no la solución.

Reglas

  • Los ejercicios deben estar en un repositorio en GitHub o BitBucket.
  • Para compartir los ejercicios deben publicar un comentario en este repositorio, en el Issue correspondiente, apuntando a la URL del repositorio en uno de estos dos sitios.

Katas

katas.go's People

Contributors

edmt avatar

Stargazers

 avatar

Watchers

 avatar  avatar

katas.go's Issues

Kata 0: Voltear una cadena

Kata:

Voltea una cadena de tal modo que "concurrencia" se imprima como "aicnerrucnoc".

Metas:

  • Compara esta sencilla tarea con la manera de resolverlo en cualquier otro lenguaje de tu elección
  • Prueba distintas implementaciones: una iterativa, una recursiva, una en la que las variables sean inmutables (no las modifiques una vez creadas), etc...
  • Opina cuál implementación es más probable que termine como código en producción, cuál es más difícil de escribir, cuál es más obvia o divertida

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.