Lattix Architecture Blog

Tuesday, August 9, 2016 - 10:20 - 0 comment(s)
Developers know that a software system will become more complex and more highly coupled over time as additional changes are made. Often this calls for refactoring or reengineering the code to make it more maintainable. Reengineering will allow you to incorporate what has been learned about how the code should have been designed. This is the kind of learning that was the original basis for the term “technical debt.” So how should we go about reengineering code that remains vital and useful?... + continue reading
Thursday, July 7, 2016 - 11:45 - 0 comment(s)
The topsy-turvy legal struggle between Oracle and Google over Java got me interested in the issues that have produced such divergent judgements and such passionate responses. Initially, it seemed that it was about patents, then it turned into a battle over copyrights, and then narrowed to fair use. And this battle isn’t over yet. As a programmer and an architect, I first tried to understand how the legal system thinks about copyright. So, I started thinking about books. A book is... + continue reading
Tuesday, June 21, 2016 - 12:51 - 0 comment(s)
  Last week I wrote about the reasons to refactor code. Let us now look at some reasons why you shouldn’t refactor code. When dealing with legacy code there will always be a temptation to refactor the code to improve its understand-ability or performance. However, here are some reasons why it might be better to hold off: 1. You do not have the proper tests in place Do not waste time refactoring your code when you do not have the proper tests in place to make sure the code you... + continue reading
Thursday, June 16, 2016 - 17:45 - 0 comment(s)
1. Maintenance is easier Legacy code architecture erodes over time and becomes difficult to maintain. Legacy code bugs are harder to find and fix. Testing any changes in legacy code takes longer. Even small changes can inadvertently break the application because over time the design has been extended to accommodate new features and the code has become increasingly coupled. Refactoring code allows you to improve the architecture, reduce the coupling, and help the development team... + continue reading
Wednesday, June 8, 2016 - 13:44 - 0 comment(s)
This year’s Saturn Conference at San Diego reflected an evolving landscape as macro trends such as cloud based architectures, Internet of Things (IoT), and devOps in an Agile world, continue to reshape the industry. How do we think about design and architecture in this changing landscape?