- What I’ve done.
- Stages of project development.
- Best practices to develop new projects.
- Test Driven Development.
I showed AirCrewMentor how to fetch the latest boilerplate version and I asked about two folders that seemed to be with the same content, SRC & DIST.
He explained that this are the folders were I have to code the project, SRC is were I have to code it and the DIST would be automatically updated (my guess running some command on shell)
We talked about stages of a project, initially AirCrewMentor talked about 4 stages but I couldn’t write down everything he said, so I did some Research and I found out that typically the people talks about 7 stages but there is no official rule for it.
- Requirements analysis resulting in a software requirements specification
- Software design
- Integration, if there are multiple subsystems
- Deployment (or Installation)
This is the order it appears on wikipedia but AirCrewMentor remarked really intense the obligation to code testing everything I do, so the testing is becoming more and more important each day.
For what we talked my guess is that the order would have to be something like the following:
- use cases
- Testing design. (How can I test it?)
- software design.
I really hope AirCrewMentor give me his view of this since this is a really important matter and I am going to be following his path.
He said that if I can focus and become a developer used to test my code and to deliver my projects well tested, I would become quickly a better developer than a lot of developers that are actually on the market, since the people is not used to code testing the apps because it is more work (my guess is that at the beginning would be more work but later would be charm, like learning to type on the keyboard with all your fingers without looking the keyboard, hard at the beginning, later a blessing.)
I found an article that I liked a lot this morning about how to write the code that the tests (with mocha) request/allow you to code. Gabriel Manricks at this article explains how to use Mocha along with the Chai assertion library.
He focus the coding on the testing prior than the code itself, really interesting and seems to go on the direction AirCrewMentor remarked.
He explained to me how they organize for a new project.
- There is the project manager who establish what needs to be done to accomplish a project and divides it on smaller tasks.
- The developers tell the project manager an estimate time needed for each task and sometimes when the task is too big, they request the project manager to split it in smaller tasks that can be estimated.