Experience sharing on project development by leveraging strengths and weaknesses

Experience sharing on project development by leveraging strengths and weaknesses
[[228468]]

The operation of a project should be orderly rather than chaotic. Details are determined by many things, such as the font color in the UI. The RGB value may be only a parameter of R that differs by 1, which is difficult to identify with the naked eye. If you use professional tools to test, it will be exposed. Ensuring the consistency of the overall color tone of the entire project is something that should be considered globally at the beginning of the project!

First of all, the project goes from demand research to contract signing, and then the UI design interface is given to the developer. The first thing we do when we get the interface is not to start drawing the interface. We can only draw it where we want. This way we will lose control of the project. The first thing to do is to look at the demand document and RP first, and stream the entire process. This is not a waste of time, but a top priority. Only by being familiar with the business model and process operation of the entire project can we take the initiative in the future, rather than following the nose of the project or UI design. If you have time, it is also necessary to use a mind map to organize your understanding of the needs, so that you know what the entire project is doing, rather than developing for the sake of development.

After thoroughly understanding the requirements, the first thing we do is still not to build the interface, but to think about the overall planning of the project. We don't talk about the idea of ​​architecture, so what should we plan?

  • ***: Overall engineering design pattern , MVC, MVVM, MVP, Rout...
  • Second: Overall engineering module division: basic layer, network layer, hardware layer, common layer, management layer, logic layer, resource layer, configuration layer...
  • Third: Think about which third-party libraries will be used in the entire project , and finally use cocopods to import
  • Fourth: Consider which parts of the entire project interface can be shared , which Views can be used in many locations, which controls need to be encapsulated, which ones need to be animated, etc.
  • Fifth: Summarize the colors used in the entire project , which are generally no more than five. Use macro files to manage color configuration files. At the same time, set the commonly used color values ​​of the project in the Xode common color management panel. Then use XIB to directly use the set colors, which will not cause color confusion. iOS11 has added a color management in Assets.xcassets, which is very convenient to use, and can realize global color change, and summarize commonly used font sizes, etc.
  • Sixth: Build a good project framework and establish a code management warehouse
  • Seventh: Confirm the interface fields with the background . If the background is standardized, you can directly develop according to the interface documents given by the background, and draw the UI and logic simultaneously!

How to manage one or more projects?

  • ***: Slicing principle , continuously decompose and refine project functions and formulate a plan schedule.
  • Second: the principle of main process first , which is the core function of a project. The core here is actually the function that customers care about most. This function is used frequently and most of the business flows are in this function.
  • Third: Follow the principle of static control . It is inevitable to make changes in project requirements. Frequent changes in requirements directly reflect the project personnel's ability to control and plan requirements. When faced with changes in requirements, first calm down and analyze whether the requirement is reasonable, whether there is a better solution, how long it will take to turn around from upstream to downstream if the requirement is changed, where the risks are, etc.
  • Fourth: The principle of retention . For a cycle of the project, there must be real-time documentation records. Changes in requirements must be made by signing a change contract, rather than changing them at will. Otherwise, the product will be completely unrecognizable and untraceable. Many programmers do not want to make a good product, but they have a heart to polish the product but are tortured by the changing requirements. There are even programmers who curse the customers and the company in the code comments. In fact, they do it because they have no other way to vent.
  • Fifth: The principle of controlling the source . As the saying goes, water flows downwards, from the Department of Commerce - Project Department - Design Department - Development Department - Testing Department, they are linked together. The source begins with demand. One move will affect the whole body. It is impossible not to move. A complete project cannot be kept still. Movement must be principled and limited. Demand is a bottomless pit and the scope must be limited.
  • Sixth: Communication is the most important. No matter which link, more coordination and communication are needed, because the needs may change in the process of transmission. For example, after a sentence is passed to 10 people, the meaning may be different from the original one or even deviate from the original meaning. Strictly speaking, communication is the most important link!

Demands vary in importance, and projects vary in size. Behind every project there is a business model. Whether it is original or imitation, you can learn from it and learn a way of thinking or an industry's thinking. So don't do projects just for the sake of doing them, and don't limit yourself to a certain project just for the sake of doing them. Just like programming languages, don't discuss whether PHP is the best language in the world, or whether life is short and I use Python. With programming thinking, different programming languages ​​only have different syntaxes. Being limited to a certain language is a limitation of your own thinking. They must have their own advantages, or solve certain specific problems, and learning from each other's strengths is the best strategy!

<<:  No need for Root, you can also use the powerful Xposed framework: VirtualXposed

>>:  Why should programmers never rewrite code?

Recommend

2017 Latest APP Listing Guide for Each App Store

The current domestic traffic is becoming increasi...

High ROI skills for massive Qianchuan investment!

There is a saying in the industry: If the thousan...

Oncologist: The typical manifestations of 21 types of cancer are listed!

Reviewer of this article: Chen Haixu, Deputy Dire...

How do free tool apps acquire users?

The way for free tools to acquire users must be a ...

The story Intel and Linux have to tell

[[121389]] Recently, Linux announced the Dronecod...

What new channels are there now that we have missed?

How do large channels compare to small and medium...