Top 5 Code Smells Newbies Developers Could Easily Identify & Avoid
Following is one very popular image which has been used to represent time and again for representing code smells. I am doing it again. Apologies if this one is repeat for some of you. But the image nicely represents how to find if your code really smells. The code smells listed in this article would certainly lead to increase in WTF count 😉 For newbie developers, it has always remained a challenge to write code of great quality from day one. One of the primary concerns they have been found to have is following: What kind of code could be termed as high quality code? There are several characteristics of good …
Top 6 Refactoring Patterns to Help You Score 80% in Code Quality
This blog lists down top code smells and code refactoring patterns which would help you write good quality code. Top 5 Code Smells Have done several code reviews in past and found following top 5 code smells common across most of these code having code quality issues: Large Class: The classes were found larger enough due to lack of developers’ understanding on one of the primary coding principles which is “Single Responsibility Principle” (SRP). These classes use to get larger due to various methods serving unrelated functionality in the same class. Long Method: The methods have been found longer due to several reasons such as following: Several block of code …
List of Handy Architecture & Design Patterns for Developers & Architects
[adsenseyu2] If you are a newbie developer. experienced developer, aspiring to be architect or an architect, you may want to keep following architecture & design patterns handy with you to solve day-to-day software architecture and design problems at your work place. These patterns can be applied for developers/architects of varied experience level, having expertise with various different technologies (programming languages). Please feel free to suggest additional patterns as if I may have missed some of them. Application Architecture Patterns: These patterns primarily are related with topics such as how to layer an enterprise application, how to organize domain logic, how to tie that logic to a relational database, how to design a …
Top 5 Java Forums Worth Frequent Visits for Newbie Java Developers
If you are a newbie Java developer, and want to get your queries clarified quickly along with learning Java in a fast-paced manner, you may plan to visit to some of the following forums on the regular/frequent basis. These forums have been reviewed and listed below on the basis of number of discussion threads and participation/replies from the forum members. These forums could also be frequented by experienced Java developers owing to the fact that various interesting topics related to advanced level Java are also discussed in these forums. [adsenseyu2] CodeRanch.com (http://www.coderanch.com/forums): A very active forum, for Java developers of all expertise level, I personally found this best of the …
How to Estimate A Story in An Agile SCRUM Sprint
Wondering on how to estimate a set of business requirements into one or more Agile SCRUM Sprints? Go on reading further and let me know what you think. If you are planning to work/develop software based on Agile SCRUM development model and are looking out for an estimation model, here it goes. Quick Overview on Agile SCRUM Before I go into presenting the model, let me present a quick introduction to Agile SCRUM development model. Agile software development is a set of software development methods that are based on iterative and incremental method, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. Following is taken from Agile Manifesto …
Business Process or Workflow – Chicken or Egg – Who Comes First?
Many a times, you ask the definition of business process or workflow, it so happens that the mention of other happens while a person is trying to define any of them. And, the next moment the question is asked that what is the difference between business process or workflow, and that which contains which one. This article tries to define each one and relate them appropriately while mentioning distinct difference between them? At times, it tends to appear like a chicken or egg situation which represents the fact that whether workflow in your systems may be progressed to define and create business processes (bottoms-up) or business process, once defined, needs to …
Tools to Obfuscate Your Java Classes
If you have got the requirement to demonstrate your tool built using Java on client machine (third party computers) by deploying your entire tool, and you are worried if your critical application jar files consisting of Java classes could get decompiled and seen by others, you could use some of the following tools: Proguard could be used to obfuscate the class files. ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. In the process of obfuscation, it renames the remaining classes, fields, and methods using short meaningless names. JBCO (Java ByteCode Obfuscator) could transform code to be more complex, esoteric, or otherwise obscure in order to hinder reverse-engineering nad decompilation …
Switch Statement with String in Java 7
Following code represents one of the requirements in which you could use Switch statement to work with String in Java. This should be noted that this feature got newly introduced in Java 7. Below is the class CalendarUtil which has a method namely numberOfDays to calculate number of days in a month of a given year. Note the logic for february month which will vary based on leap year logic. Rest of the days count remain same in different months irrespective of years. public class CalendarUtil { public static int numberOfDays(int year, String month) { int numberOfDays = -1; switch (month) { case “january”: numberOfDays = 31; break; case “february”: …
List of Application Security Forums/Groups You Would Want to Frequently Visit
If you have been looking out to explore (as depicted by diagram below:-) various different application security forums to keep yourself updated with latest application security discussions, following is the list of security forums you may want to visit frequently and get yourself involved to remain up-to-date with application security: Online Forums http://www.coderanch.com/forums/f-65/Security: Very active & popular forum, this is primarily a place for Java developers to discuss on security topics related with Java. http://www.is-ra.org/forum/: Not very active though, however, this is a place for information security professional who are more interested in discussion topics related with some of the following: Ethical hacking & penetration testing Digital forensics Cryptography and …
Why BPM for Manufacturing Businesses?
This article talks about various different scenarios in which Business Process management (BPM) technologies (tools & frameworks) could bring a lot of difference to your manufacturing business and help you do better in terms of improved operations and overall increase in the bottom line (profit) of the business. Before we look into some of the use-cases of BPM, lets see how it would look like without BPM? [adsenseyu2] How does the manufacturing IT landscape look like without BPM? Given that you have large applications in relation with Enterprise Respource Planning (ERP), Customer Requirements Management (CRM), Product Lifecycle Management (PLM), Supply Chain Management (SCM), following is how you enterprise architecture landscape could look …
Tips to Migrate from Traditional to Spring MVC based Java Web Application
This article talks about what would it take to move the non-spring Java application to Spring-based Java application. This essentially means that if you have a traditional Java web application with object instantiation taking place in independent class files or based on Factory pattern, this article would help you to move to a Spring based component model. Moving to Spring-based component model would essentially mean that one would move the object instantiation to one of the spring configuration file and that the component instantiation would happen based on dependency inversion principle. Before moving on to the steps, it would be good to learn Spring framework concepts and also Spring MVC …
Top 5 Cool Things with New Google Spread Sheets
Following are top 5 cool things that you could do with most recent release of Google spreadsheets: On-the-go formula applied on any column with “=”: Tried formula such as =sum(100,120,200) and pressed enter. And, I got 420 in no time. Take a look at the diagram below. Some of the formulae that could prove handy when you are working with numbers are following: TODAY() SUM or ADD MULTIPLY MINUS DIVIDE POWER Filter Views: With filter views function, one could view and analyze data by hiding the data that one wants to temporarily take out of view. With this feature, one could save multiple filter views as unique names to return to and …
List of Javascript Frameworks You Heard The Most In Recent Times
Following is a list of javascript framework that you might have heard most in recent times, and wanted to have a quick understanding about them. Lets try and understand their definition and their applicability in terms when would you want to use them. Node.js: Following is definition of node.js from their website (http://www.nodejs.org):Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.Node.js can become consideration for some of following use-cases: Need to maintain persistent connection between browser back to the server. In other …
R&D Framework for Achieving Customer Delight
[adsenseyu2] If you are associated with a software service provider and have come across the customer comments such as following, you may want to read ahead and share your thoughts as comments: The team is creating great software based on what we are asking them to do; However, they are not adding value in terms of suggesting new technologies (tools & frameworks) to optimize one or more existing business processes or suggesting better way of doing the business functions. The above is more common with software service providers who have been working on staff augmentation model and want to step up to become a strategic business partner of their customers …
BPM – Key Enabler Technology for Managing Aam Aadmi Complaints (AAC)
Now that the whole of country, India, has woken up to a corruption free governance, if there is one technology that could help accelerate this movement in a managed manner, it has to be business process management and related tools & frameworks. Janata Darbar (People’s gathering with government stakeholders for grievances resolution) has always been famous for quite sometime. However, very recently, it caught media attention for how unmanaged it can go if not planned properly. AAP (Aam Aadmi Party) chief minister, Arvind Kejriwal and his team of cabinet ministers decided to talk to people and scheduled a meeting where they expected 5000 people to gather and thus, planned accordingly. …
Free Online Courses from MIT For Java Web Applications
[adsenseyu2] Following are 4 courses from MIT Open Courseware (OCW) that a newbie would consider for enhancing his concepts for working in Java web applications: Software Engineering for Web Applications: The objective of the course is to enhance the familiarity of students with some of the following key concepts: Concurrency Unpredictable load Security risks Opportunity for wide-area distributed computing Creating a reliable and stateful user experience on top of unreliable connections and stateless protocols Extreme requirements and absurd development schedules Requirements that change mid-way through a project, sometimes because of experience gained from testing with users User demands for a multi-modal interface The entire course can be downloaded from following link: …
I found it very helpful. However the differences are not too understandable for me