2014 summary, 2014 Summary

Source: Internet
Author: User

2014 summary, 2014 Summary
Growth of 2014

When I started my computer, I wanted to make a summary of the year, but I didn't know how to start it. So I started this year inexplicably.

In general, there were many gains in 2014. From February to umeng's internship, the internship was valued by the supervisor, and the internship took over the main job. This year's internship was not in vain. In an uncertain internship, in the 2014 S, I hurriedly sorted out relevant materials for graduation design, before returning to school, I made a major restructuring of umeng's social components with my partner, which happened in the last few days of my college. There are no technical challenges for this refactoring, mainly due to some decoupling work. The coupled subsystems are all independent, making the core sdks more streamlined. This experience gave me a deep understanding of the disaster brought about by coupling, which seriously affected the complexity of the project and made it difficult to upgrade and maintain the system. For coupling problems, I want to follow the principle of single responsibility and the replacement of Lishi! Of course, as far as I know, this problem is largely caused by the decision-making of the previous product manager.

The growth in 2014 is more likely to be a deeper understanding of object-oriented, interface-oriented programming, rather than implementation. I think many people know this, but for people with less experience, this is just a secret. How to apply it to projects is a problem. This year, I have also read books on Java, Android, design patterns, and agility. Reading classic books will bring you unexpected gains. I highly recommend that you buy books and read books. A good book may have a great impact on your development methods, it may be of great help to your career path. For example, you have read TDD in Agile development, so you use TDD for development, which will greatly improve the quality of your code, your previous development methods may be exhausted in terms of testability and test coverage. That's why I saw some extreme comments. If you haven't used TDD, it proves that you are not professional enough. Of course, there is some truth in this remark by Object-Oriented experts, but more is the recommendation of this development method. After trying TDD, I feel that it is still difficult to use it. If you write a framework, using TDD may be very effective. After all, it is much better to test without UI dependencies. After learning TDD, I still feel that I have not reached this level. I will try again later.

After graduation, I still feel a little pressure. I still want to improve myself. It is a good way to write a blog. As a result, many blogs on CSDN began to be written in the second half of the year. In the early stage, we shared some common technical points and deepened our understanding by writing blogs. Blog writing allows you to sort out your knowledge points, check for missing vacancies, and deepen your understanding. If you tell others about your knowledge, you must first have a certain grasp of this knowledge system, this process forces you to collect and sort out this knowledge. First, I upgraded myself, and then I shared it with others.

The most frequently-written and slightly quality blog posts are from February to February. At this time, I joined the development and exchange group of Hongyang and Ren yugang. I think everyone has a good atmosphere, therefore, we have a desire to share knowledge. During this period, I wrote some simple implementations of common frameworks, such as the network framework and ImageLoader framework. The purpose of writing these frameworks is to give myself a deep understanding of some core mechanisms of the framework, learning the wheel building process with the attitude of repeating the wheel building, so as to achieve the ability to build the wheel, this is the purpose of my Android framework development series.

In this process, I accidentally wrote the AndroidEventBus framework. It was originally intended to write a blog. However, during the learning process, I found that the existing event bus framework was not very convenient to use, in particular, the EventBus of greenrobot is of course the most efficient, and the author has made corresponding measures to solve the problem of efficiency. I think since I have these feelings, there may also be others who will think that, after talking in the Development Group, they will find that such a situation exists. Therefore, AndroidEventBus was officially launched as an open-source library. When you have a small number of events, efficiency is naturally not an advantage, but the user experience is very direct. Of course, the database to be selected depends on the user's selection, such as the number of events.

After AndroidEventBus was released, the vast majority of people still supported it, but some people satirized that "Chinese people know how to duplicate the wheel" and so on. As mentioned above, AndroidEventBus initially only intended for personal learning. Some people always emphasize "do not create wheels repeatedly", but I am learning more deeply by learning the wheel manufacturing process, if you don't make things, you may just stay on the surface of things. Some things should be like this, but probably not like this. Some things you haven't gone through, you don't know it would have such a problem. In addition, simply using the wheels made by foreigners, rather than learning to make them, the gap between them will become farther and farther. Regardless of others, I think this is what I want to stick.

The sharing atmosphere ended in 2014. I learned a lot and shared a lot. I also met some colleagues and got help from them, for example, Ren yugang, the light blue Wednesday, and CC elder brother. Thank you for your support.

Outlook 2015

2015 is unknown to me personally, and I do not know how to make choices on the career path. Maybe I stick to my Android R & D position, maybe I am working on iOS. Of course, I certainly love Android, but for the sake of project requirements, I may temporarily switch to the iOS camp. If I am still on the android platform, I will continue to share the framework development series, share the event bus framework and ORM framework, and complete the design pattern of Android source code analysis.

App development is basically the same. After the idea of programming is established, the platform only needs to change the language environment. Of course, you will also encounter problems frequently encountered during the development of this platform. However, for mobile development, it is necessary to be proficient in Android and familiar with iOS development. Otherwise, you will be responsible for mobile development. You only understand Android and iOS, it is hard for you to grasp the product as a whole, which is also my career goal in recent years.

In 2015, our expectations were more professional. Specifically, it is to add some OO Knowledge, learn some classic architecture models, supplement the knowledge of Lunix and Unix, and invest more in unit testing. time practice, then find a suitable development mode. In the process of self-improvement, I also hope to share my thoughts and thoughts. If I can help some friends or make others feel something, then I will fulfill my original intention.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.