Programming for Change
Changing code is hard. Every time you fix something in one place, you caused another bug in somewhere else.
But writing software is all about changing existing code. Only a small percentage of a project spent on writing completely new pieces of code. Most of the time you are changing, adjusting, and expending existing code to add new functionality to an existing program.
So,
how can you make sure you can make changes without breaking old staff?
how can you make sure your code remain maintainable, understandable, and adaptable?
Maven
Maven is a tool for managing Java projects such as compilation, testing, packaging, documentation, and distribution.
Maven consists of the following:
- A set of conventions addressing dependency management, directory layouts, and build workflows.
- An xml schema for project configuration, the Project Object Model (POM)
- A plugin architecture that delegates the execution of project tasks to external components.
Best Practice for Android Native App
12-Factor App
The twelve-factor app is a methodology that we must follow.
IDE
The recommended IDE is Android Studio because it is developed and frequently updated by Google, has good support for gradle, contains a range of useful monitoring and analysis tools and is generally tailored for Android development.
Professionalism
Professionalism is a loaded term. Certainly it is a badge of honour and pride, it is also a maker of responsibility and accountability. It’s a lot easier to be non-professional. Nonprofessionals don’t have to take responsibility for the job they do—they leave that to their employers.
Professionalism is all about taking responsibility. How do we take responsibility?
- Do no harm—What harm can a software developer do? We can harm both function and structure.
- Work Ethic—Your career is your responsibility.