Coder Social home page Coder Social logo

enigma's Introduction

enigma

Version Control: Throughout this project, I committed often and after working on small bits of functionality. There were a few times when the commits included more than one method, but they almost always included related functionality or helper methods. The initial pull request was much later than what should have been done. I was concerned about keeping the main branch 'pristine' because the initial part of the Enigma class ended up being more involved than I expected. In hindsight, I should have started with the outer methods and worked my way in. I have 44 commits and 6 pull requests, so I would give myself somewhere just above a 3 for this category.

Test Driven Development: My work flow generally includes forming the test and then coding the method. I initially tried to use stubs for the random generators but had a very difficult time getting them to pass, resulting in outright stubbing the result being tested. I eventually changed a lot of those tests to include more roundabout ways of testing, like using length and checking that the key started with a 0, for instance. I could have more successfully integrated mocks and stubs. Every method is tested in some way, even if the test checks for a dependency. Rake tells me that I have 100% coverage. I would give myself a low 2 on this.

Ruby Conventions and Mechanics: Barring the occasional typo, code is indented appropriately. All file names follow convention. The enumerables I used are the only ones possible. I ended up manipulating the strings rather than converting into an array and back into a string. There are two hashes, decrypt and encrypt, as required in the specification. I would give myself a 2 on this.

Object Oriented Programming: I can articulate the single responsibility for each class. Knowledge is limited. However, this and the conventions are definitely my weakest points. I had a clear structure in my head when I started, but I became less convinced as the project evolved. I stayed with my initial structure but feel that some things would be easier if the would be combined. The structure is overcomplicated. I would give myself a 2 on this.

Functionality: The command line functionality is there for both encrypt and decrypt. The runners function, but the .txt files have a bit of Google translate syndrome--in so much as they aren't perfectly swapping back and forth. The message is correct with the correct key and date. However, there are breaklines and escape characters in places that are not intended. Because of that, I would give myself a 2.9 in this category.

Overall, I would give myself a low to mid 2.

enigma's People

Contributors

kaiheiongaku avatar

Watchers

 avatar

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.