Now it might really have to do | programmtのブログ

programmtのブログ

ブログの説明を入力します。

In 2008, when I have not graduated from college, then in a company internship. Then boss received a project that is a given in the oil for a subsidiary company to do a web version of the management system, a classmate and I bite the bullet next done. The back-end system using c # of web form, the front end of the ordinary html + css + javascript, database using sql server2005, Michael Kors Bedford Logo Large Navy Totes deployment server using Microsoft Server 2008. In retrospect this system, although code written in bad, bad architecture write, but to function properly, it Michael Kors Bedford Logo Large Ivory Totes is occasionally difficult to resolve some strange little bug. Five years ago, after all, their own code Well, then himself too tender, a lot of things do not know, do not have much experience. But if I now want to make this system feature Michael Kors Bedford Signature Large White Totes upgrades, or even redo the system, which I will carry out to improve that? This is an interesting topic, if you can really find many shops out for improvements, then explain that you are really in progress for several years. Now it might really have to do this system feature upgrades. I thought for a moment, will make improvements and adjustments in the following aspects. 1. Using the latest Visual Studio IDE, and install the ReShaper plugins. Now it has become a shortcut key, Reconstruction control. As Michael Kors Outlet the saying goes, the workers want to work, must first of its profits. Good programmers certainly use the best tool. The new Visual Studio in terms of efficiency, smart tips to improve aspects. ReShaper as Reconstruction of course, essential weapon under .net. 2. Place the code hosting to private github repository, use git as source code management tool. Previously used in the project is Michael Kors Bedford Logo Large Purple Crossbody Bags svn, the company used as a code hosting server, and the company server is not so stable. git as a distributed source code management tools, from the shackles of a central server, and have quickly create, switching branch, local commits and other features, after blasting svn. github code as the world's largest hosting centers, convenient and practical, the most Michael Kors Berkley Logo Large Beige Clutches expensive member 7 $ per month, Michael Kors Bedford Gusset Medium Tan Crossbody Bags affordable. 3. To the system, an important function to lay LOG. I remember when we want to record some programs log, but also to write a simple log library. There are a lot of mature log frame can be c # to use. When your program is deployed to the server, without adequate log, so imagine how Michael Kors Bedford Logo Large Gold Crossbody Bags difficult it is to troubleshoot bug. On the server do not allow you to restore the site, can not debug only could help those log up. Of course, there are a lot of knowledge to play log, such as log level is set, the output settings, etc. will not elaborate here. 4. Use the transaction mechanism for dealing with complex logic. There are many concurrent operations in this system, when he was not really understand the business, uses some very bad ways to deal with possible data anomalies. Now I will use sophisticated distributed transaction mechanisms to deal with these concurrent logic, make the program more robust. 5. Using TDD, improve unit test coverage. The previous system does not have any unit tests, a simple piece of code you need to start the program manually verified. Such feedback is too time-consuming, and does not have reproducibility. Test-driven development to ensure that the code is simple, accurate, and can quickly get feedback, to ensure test coverage. Encounter legacy code, or you can add unit tests Michael Kors Bedford Logo Large Purple Crossbody Bags to establish safety net, so that reconstruction confidence. 6. webdriver automated functional testing. Once in presentations to clients before, I changed some code, I did not expect this code happens to destroy an important feature to the customer presentations. If there is an automated functional testing so you can avoid all this. Automated functional testing can enhance confidence in the product, every change in the controllable range. 7. write build scripts, achieve continuous integration. Even if only one person working on this project, should also be prepared to build scripts, apply continuous integration. So as to ensure that you are safe once every submission; Michael Kors Bedford Gusset Medium Blue Crossbody Bags and automate some repetitive work together, you can liberate your mind to focus on more important places. 8. Automated Deployment. Deploy the project to the server each time is a painful experience, you need to manually replace some of the project file, copy the file to the server, the server service terminates the current link error ... .. which is a fatal blow. Manual is not only inefficient, but also error-prone. By writing scripts to automate deployment once and for all, and say goodbye to tedious manual operation Michael Kors Bedford Logo Large Gold Crossbody Bags of it. 9. Use as a key management tool that relies Nuget. If you want to refer to a third-party dependencies, you need to manually download from the Internet and added to the project, then you're out of. As a Java programmer, maven, gradle and other build tools are standard, they provide automated management of dependency. You only need to add a line to explain the string you want to use the library, download, reference management tools on the whole to be realized. In c # world of course, we have the appropriate product, that is Nuget, since dependency management is no longer a headache thing. 10. Multi-use c # own characteristics, such as LINQ, commission, functional programming. Compared enterprising java language, c # do not know how many times stronger. java in java 8 version was officially introduced Lambda, and the c # LINQ came out many years earlier. If making a list of operations, you only use foreach, then you too Michael Kors Bedford Gusset Medium Blue Crossbody Bags corny. It is nothing more than a list of operating filter, map, sort ... and c # early for us to provide a range of extension methods, such as Where, Select, Sort .... The poor can only use Java Guava this nondescript third-party libraries to achieve the corresponding effect and far from c # native function beautiful. c # references every year since so many features, so we must learn, master and use. Many people use the c # side of old-fashioned grammar, and said she proficient c #, really people speechless. Stood so many good characteristics do not, let these java programmers really envy, jealousy and hatred. 11. Use some of the front frame and JavaScript frameworks. For me this front end of white, I want to design a beautiful page really is powerless. Do not Michael Kors Bedford Large Orange Shoulder Bags worry, the designers have taken into account the feelings of the front incompetent, such as front-end Michael Kors Berkley Logo Large Black Clutches UI framework bootstrap sort of just been born for us. These not only easy to use, Michael Kors Bedford Logo Large Gold Crossbody Bags the effect is obvious, but also comes with responsive design, it is a front-end tool white realize their beautiful web site is no longer a dream. JavaScript is not to say, what jQuery, AngularJs, ExtJs ... .. endless variety Framework class library, covering all aspects of front-end development. Whether you want to draw, manipulate DOM elements, create a one-page application, the use of MVC architecture ... .. in the JavaScript world you always have a variety of options. I remember when I have to show a chart in a web page, using a real-time rendering using .net loaded into a picture displayed on the background to the foreground, are tears ah. Well now, only need to bind the data model to the chart control, every minute to get. Well, I write so many. How to judge a programmer really has N years of work experience, rather than one year of work experience repeated use of N years? A good way is, and come out of a previous project, to see what he would do to improve. For many years programmers, knowledge, vision must be wide, so that it competitive. It relies on the usual learning and accumulation, but also good at thinking, how can the matter at hand better.If I complete a project a few years ago, I would do what improvements?