gdata.io.handleScriptLoaded({"version":"1.0","encoding":"UTF-8","feed":{"xmlns":"http://www.w3.org/2005/Atom","xmlns$openSearch":"http://a9.com/-/spec/opensearchrss/1.0/","xmlns$gd":"http://schemas.google.com/g/2005","xmlns$georss":"http://www.georss.org/georss","xmlns$thr":"http://purl.org/syndication/thread/1.0","xmlns$blogger":"http://schemas.google.com/blogger/2008","id":{"$t":"tag:blogger.com,1999:blog-3826368468004556615"},"updated":{"$t":"2023-12-26T13:46:15.660-08:00"},"category":[{"term":"scp"},{"term":"SAP ABAP"},{"term":"Tutorial series on SAP Enterpise Portal"},{"term":"geocoder"},{"term":"export sapui5 project"},{"term":"events in classical reports"},{"term":"util"},{"term":"layout"},{"term":"pull"},{"term":"joins"},{"term":"tables"},{"term":"SEGW"},{"term":"viz charts"},{"term":"sap cloud platform mobile services"},{"term":"types of views"},{"term":"Security Considerations"},{"term":"sap web ide deprecated"},{"term":"pool"},{"term":"SAP ABAP function modules"},{"term":"tree table"},{"term":"cloud foundry"},{"term":"custom login page"},{"term":"sap cloud platform for portal sites"},{"term":"admin cockpit sap cloud mobile services"},{"term":"Introduction to SAP portal sites"},{"term":"srv"},{"term":"hcp"},{"term":"OOPs Concepts"},{"term":"sap fiori tools"},{"term":"SAP ABAP Blog."},{"term":"export sap projects"},{"term":"ui5"},{"term":"maintainability"},{"term":"associations"},{"term":"combo box"},{"term":"SAP BAS"},{"term":"Logon Page in Enterprise Portal"},{"term":"margins"},{"term":"Web IDE"},{"term":"mtar"},{"term":"CAP"},{"term":"ABAP Development"},{"term":"sap viz frame"},{"term":"sort"},{"term":"Plugin"},{"term":"appearance"},{"term":"workflow"},{"term":"Agile Development"},{"term":"architecture of sap fiori"},{"term":"outer join"},{"term":"SAP S/4HANA"},{"term":"sap fiori"},{"term":"Data Storage"},{"term":"file"},{"term":"SAP overview"},{"term":"function"},{"term":"Sapui5 jobs"},{"term":"Classical report"},{"term":"sap fiori tutorial"},{"term":"webIDE application"},{"term":"Installation of sap ui5 plugin"},{"term":"app router"},{"term":"Scalable Applications"},{"term":"smarttable"},{"term":"odata tutorial"},{"term":"sap enterprise portal"},{"term":"vizframe control"},{"term":"stage"},{"term":"events"},{"term":"selected index"},{"term":"tab"},{"term":"How to export SAP Web IDE Workspace projects"},{"term":"hello world application"},{"term":"SAPUI5 data communication"},{"term":"online training abap"},{"term":"SAP NetWeaver Portal"},{"term":"apps"},{"term":"pfcg"},{"term":"sap mobility jobs"},{"term":"commit"},{"term":"launchpad"},{"term":"DPC"},{"term":"Pass by value and return"},{"term":"routing in split app"},{"term":"Module Pool"},{"term":"sapui5 xml editor"},{"term":"sap.m.list"},{"term":"searching"},{"term":"tag"},{"term":"CAPM Apps"},{"term":"css folder"},{"term":"get expanded entity"},{"term":"ABAP Job Preparation"},{"term":"mta"},{"term":"custom image"},{"term":"xlsx"},{"term":"Mock data"},{"term":"multi target application"},{"term":"javascript"},{"term":"Routing"},{"term":"responsive table in sapui5"},{"term":"add and delete operation"},{"term":"csv upload validation"},{"term":"saml"},{"term":"external library"},{"term":"ALV programming examples"},{"term":"sap btp"},{"term":"Custom Controls"},{"term":"Project structure"},{"term":"openui5"},{"term":"dv"},{"term":"create destinations to connect mobile services from sap web ide"},{"term":"sap custom portal sites"},{"term":"modules"},{"term":"Interactive Reports"},{"term":"user experience sap"},{"term":"odata v2"},{"term":"ABAP New Features"},{"term":"Developer Tips"},{"term":"sap fiori launchpad configuration"},{"term":"Logon to SAP ABAP"},{"term":"cloud foundary"},{"term":"SAP ABAP Certification"},{"term":"Tutorials"},{"term":"ABAP Interview Questions"},{"term":"controller"},{"term":"Routing in sapui5"},{"term":"Environment variables"},{"term":"ALV reports"},{"term":"Transport Request Number"},{"term":"sap fiori enterprise portal"},{"term":"CSN"},{"term":"Parts"},{"term":"jwt token"},{"term":"register cloud platform"},{"term":"annotations"},{"term":"Navigation Properties"},{"term":"component.js"},{"term":"deman pop-in"},{"term":"configure catalogs and groups"},{"term":"Best practices"},{"term":"local service"},{"term":"sap web ide"},{"term":"i18n"},{"term":"Dialog sapui5"},{"term":"chrome"},{"term":"ABAP Coding Best Practices"},{"term":"HANA Modeling"},{"term":"charts in sapui5"},{"term":"sap fiori enterprise portal sites"},{"term":"google maps"},{"term":"SAP Business Technology Platform"},{"term":"formatters"},{"term":"resource bundle"},{"term":"Pass by reference"},{"term":"pass multiple values"},{"term":"projection views"},{"term":"sapui5 diagnostics window"},{"term":"web dynpro"},{"term":"webapp"},{"term":"get expanded entityset"},{"term":"Setting Up an App Router in SAP CAPM Project on BTP: A Step-by-Step Guide"},{"term":"help views"},{"term":"BDC"},{"term":"contrller"},{"term":"video tutorial on nested views and fragments"},{"term":"iwfnd"},{"term":"odata"},{"term":"debugging javascript files"},{"term":"smart table"},{"term":"SAP Programming"},{"term":"SAP Development"},{"term":"SAP netweaver gateway"},{"term":"api"},{"term":"Blobs in JavaScript"},{"term":"sap fiori apps"},{"term":"Visual studio code"},{"term":"How to Change logon Page of Enterprise Portal"},{"term":"dynamic"},{"term":"sapui5 code editor"},{"term":"git"},{"term":"xml code editor"},{"term":"Transaction code"},{"term":"parameter"},{"term":"ABAP on HANA interview questions and answers"},{"term":"Global sub routines"},{"term":"interactive reports example"},{"term":"layouts"},{"term":"ABAP List Viewer"},{"term":"JDK"},{"term":"filter"},{"term":"Fragment in sapui5"},{"term":"controller.js"},{"term":"video tutorial on globalization"},{"term":"CLASSICAL REPORTS"},{"term":"Sorting"},{"term":"odata v4"},{"term":"CRUD operations"},{"term":"create OData service"},{"term":"crud"},{"term":"Navigation"},{"term":"authorization"},{"term":"responsive"},{"term":"SAP functional modules"},{"term":"validate using headers"},{"term":"CDL"},{"term":"SUB ROUTINES"},{"term":"interactive reports events"},{"term":"sheet.js"},{"term":"MDK introduction"},{"term":"SAP Bussiness Application Studio"},{"term":"begin set"},{"term":"UI5 Inspector"},{"term":"get cursor"},{"term":"drag and drop"},{"term":"component preload"},{"term":"ABAP"},{"term":"spider chart"},{"term":"interview tips"},{"term":"view"},{"term":"Sap RAP"},{"term":"Answers"},{"term":"Templates and Accelerators in SAP Portal sites"},{"term":"work Area"},{"term":"SAP ABAP on HANA"},{"term":"sap webide"},{"term":"read"},{"term":"ABAP HANA Integration"},{"term":"sap MDK"},{"term":"ABAP 7.5"},{"term":"submitbatch"},{"term":"version"},{"term":"transparent"},{"term":"Microservices in SAP BTP"},{"term":"resources"},{"term":"import"},{"term":"SAP Data Presentation"},{"term":"create"},{"term":"SAP ECC"},{"term":"debug files in production environment"},{"term":"sap fiori configuration cockpit portal sites"},{"term":"SAP cloud solutions"},{"term":"speech recognition"},{"term":"groups"},{"term":"icf"},{"term":"ABAP 7.6"},{"term":"custom control"},{"term":"configuring destination in sap web ide"},{"term":"viz control"},{"term":"Mta yaml"},{"term":"odata deep structures"},{"term":"BAS"},{"term":"push"},{"term":"ios"},{"term":"data element"},{"term":"search"},{"term":"ALV Grid Report"},{"term":"Internal Tables"},{"term":"properties"},{"term":"minScreenWidth"},{"term":"configuring tiles"},{"term":"aggregation binding"},{"term":"grouping"},{"term":"controller hooks"},{"term":"portal site"},{"term":"import project"},{"term":"ABAP Developer Tips"},{"term":"json model"},{"term":"Introduction"},{"term":"branding"},{"term":"list"},{"term":"SAP Technical Interviews"},{"term":"android"},{"term":"package"},{"term":"SAP Fiori Configuration cockpit"},{"term":"create cloud foundary account"},{"term":"sap app"},{"term":"custom sapui5 app extension"},{"term":"edit"},{"term":"SAP ABAP views"},{"term":"excel"},{"term":"ABAP Code Examples"},{"term":"SmartForms"},{"term":"logo"},{"term":"sap freestyle portal sites"},{"term":"HANA Development"},{"term":"fiori apps"},{"term":"Image Upload"},{"term":"javascript code editor"},{"term":"OData v4 advantages"},{"term":"Development"},{"term":"index of list"},{"term":"offline capabilities"},{"term":"containers"},{"term":"portal"},{"term":"changeset"},{"term":"Binary Data Handling"},{"term":"distance"},{"term":"sap cloud foundary"},{"term":"technical interview questions"},{"term":"Cloud Application Programming Model"},{"term":"implementing SAP Fiori"},{"term":"odat v4"},{"term":"MockSever"},{"term":"Event Handling"},{"term":"local development"},{"term":"RAP Implementation"},{"term":"sap ui5 excel upload"},{"term":"Data types"},{"term":"How to get Selected table index value?"},{"term":"xml view"},{"term":"hierarchial ALV"},{"term":"extending apps"},{"term":"sap capm"},{"term":"manifest.json"},{"term":"DDIC"},{"term":"ABAP Data Modeling"},{"term":"reports"},{"term":"User Interaction"},{"term":"batch processing in OData"},{"term":"login"},{"term":"sap backend system"},{"term":"event"},{"term":"authentication"},{"term":"css"},{"term":"job search"},{"term":"types of subroutines"},{"term":"LOCAL SUB ROUTINES"},{"term":"mobile development kit"},{"term":"item"},{"term":"sap fiori portal site"},{"term":"enable sap web ide"},{"term":"use strict"},{"term":"json"},{"term":"routing in full application"},{"term":"Introduction to sap enterprise portal"},{"term":"doalog"},{"term":"CDS"},{"term":"chart.js"},{"term":"Mdk app"},{"term":"ALE"},{"term":"mfa"},{"term":"view extensions"},{"term":"sap abap tutorials"},{"term":"system objects"},{"term":"maint_service"},{"term":"introduction to sapui5"},{"term":"Dev Tools"},{"term":"Configure Catalog and Groups in SAP Fiori Portal Sites"},{"term":"design principles"},{"term":"component configuration"},{"term":"ABAP Job Interview Insights"},{"term":"rest"},{"term":"sap fiori launchpad"},{"term":"google maps api"},{"term":"MPC"},{"term":"inline expressions"},{"term":"data binding"},{"term":"table"},{"term":"cache buster"},{"term":"setup"},{"term":"tiles"},{"term":"HANA Performance Tuning."},{"term":"Pass by value (or) call by value"},{"term":"beginset"},{"term":"path"},{"term":"XS-UAA"},{"term":"model folder"},{"term":"sapui5"},{"term":"view replacement"},{"term":"introduction to ERP"},{"term":"example classical report example"},{"term":"SAP MTA"},{"term":"external style"},{"term":"Internal Table"},{"term":"step by step process to create odata"},{"term":"update"},{"term":"add"},{"term":"walkthrough admin cockpit"},{"term":"fiori"},{"term":"python"},{"term":"hello world"},{"term":"sapui5 code validator"},{"term":"responsiveness"},{"term":"node.js"},{"term":"Search Help in DDIC"},{"term":"backend components"},{"term":"custom fiori app"},{"term":"xs security"},{"term":"introduction to sap web ide"},{"term":"SAP CAP"},{"term":"SAP technical modules"},{"term":"inner join"},{"term":"string"},{"term":"internal style"},{"term":"lpd_cust"},{"term":"radar chart"},{"term":"csv"},{"term":"OData v2 vs. OData v4"},{"term":"validation"},{"term":"nested view"},{"term":"push a project in github"},{"term":"aggregations"},{"term":"charts"},{"term":"SAP Fiori Launchpad Portal Site"},{"term":"sapui5 project"},{"term":"introduction to odata annotations"},{"term":"export project"},{"term":"types of tables"},{"term":"operations on internal table"},{"term":"large string"},{"term":"Activate OData Service in SICF"},{"term":"sapui5 lint"},{"term":"Most common examples in sap ui5"},{"term":"video tutorial on formatter and inline expressions"},{"term":"pdf"},{"term":"fiori launchpad"},{"term":"extending sapui5 apps"},{"term":"sap mobile services"},{"term":"sap mobile services tutorial"},{"term":"sap portal site"},{"term":"Fragment"},{"term":"Configuring Fiori Tiles in sap portal sites"},{"term":"mdk"},{"term":"annotations in OData"},{"term":"sap mobile development kit"},{"term":"metadata.xml"},{"term":"SAP Mobile cards"},{"term":"SAP ABAP video tutorials"},{"term":"btp"},{"term":"setup sap bussiness application studio"},{"term":"ABAP Innovations"},{"term":"Introduction and DDIC"},{"term":"introduction to sap fiori"},{"term":"optimization"},{"term":"examples"},{"term":"- SAP ABAP performance optimization\n\n- ABAP performance tuning\n\n- SAP ABAP best practices\n\n- SAP ABAP performance tips\n\n- ABAP performance optimization techniques\n\n- SAP ABAP performance improvements"},{"term":"sap"},{"term":"SAP Tech Trends"},{"term":"sapui5 csv file upload import"},{"term":"sap.m.table"},{"term":"frontend components"},{"term":"Field Catalog"},{"term":"File Manipulation"},{"term":"SAP RAP Tutorial"},{"term":"js"},{"term":"mobile services in cloud foundary"},{"term":"sicf"},{"term":"roles"},{"term":"file reader"},{"term":"maintainence view"},{"term":"Security"},{"term":"SAP implementation."},{"term":"domain"},{"term":"sap cloud platform SDK"},{"term":"Globalization and localization"},{"term":"xml"},{"term":"marker"},{"term":"SAP Interview Prep"},{"term":"sap web IDE Workspace export"},{"term":"re usability"},{"term":"sapui5 nested view"},{"term":"voice recognition"},{"term":"sap fiori application"},{"term":"video tutorial on routing"},{"term":"Offline app"},{"term":"index"},{"term":"Latest ABAP FAQs"},{"term":"Naming conventions"},{"term":"fiori tiles"},{"term":"fiori jobs"},{"term":"SAPui5 application on SAP bussiness application studio"},{"term":"database views"},{"term":"upload"},{"term":"sapui5 excel import"},{"term":"Batch"},{"term":"sapui5 project structuring"},{"term":"token"},{"term":"handling localized texts"},{"term":"globalization"},{"term":"SAP HANA clould cockpit"},{"term":"deploy to cloud foundry"},{"term":"test Odata service"},{"term":"github"},{"term":"sap fiori jobs"},{"term":"sap cloud platform"},{"term":"capm"},{"term":"sapui5 github"},{"term":"formatter"},{"term":"cluster"},{"term":"ALV Grid Tutorial"},{"term":"controller extension"},{"term":"fiori app"},{"term":"view extension"},{"term":"Cloud-Native Architecture"},{"term":"HANA"},{"term":"multi cloud environment"},{"term":"interview questions"},{"term":"filtering"},{"term":"ABAP CDS Views"},{"term":"variable names"},{"term":"CQL"},{"term":"gulp"},{"term":"boolean"},{"term":"SAP modules"},{"term":"delete"},{"term":"logon page"},{"term":"introduction to sap abap"},{"term":"sapui5 apps"},{"term":"pull a project"},{"term":"split app"},{"term":"sapui5 best practices"},{"term":"read table"},{"term":"SAP OData"},{"term":"Debugging ABAP"},{"term":"universal worklist"},{"term":"expression"},{"term":"controls and views"},{"term":"Custom control to make a Radar Chart using Chart.js library in SAPUI5."},{"term":"Cache"},{"term":"view modification"},{"term":"odata tutorial series"},{"term":"xls"},{"term":"sap BTP CAPM"},{"term":"append operation"},{"term":"code quality"},{"term":"example of CAP"},{"term":"header item relationship"},{"term":"launchpad configuration"},{"term":"Latest ABAP Updates"},{"term":"sap ui5"},{"term":"dataset"},{"term":"register odata service"},{"term":"padding"},{"term":"RAP"},{"term":"OData v2 benefits"},{"term":"v4"},{"term":"ABAP Enhancements"},{"term":"responsive table"},{"term":"npm"},{"term":"RAP Model"},{"term":"catalogs"},{"term":"sap fiori elements"},{"term":"login configuration"},{"term":"Web Application Development"},{"term":"application"},{"term":"value"},{"term":"enterprise portal"},{"term":"selected"}],"title":{"type":"text","$t":"SAP Development: Mastering SAP UI5, BTP, Fiori, CAPM, RAP, ABAP; and More!"},"subtitle":{"type":"html","$t":"Welcome to the ultimate SAP UI5, BTP, Fiori, CAPM, RAP, ABAP blog! Explore comprehensive tutorials, interview questions, and real-world examples to master SAP development. Elevate your skills in creating stunning UI5 apps, harnessing the power of BTP, and building Fiori applications. Unlock the potential of CAPM, RAP, and ABAP, and learn to integrate seamlessly with the enterprise portal. Whether you're a beginner or an experienced developer, this blog is your go-to resource for SAP expertise!"},"link":[{"rel":"http://schemas.google.com/g/2005#feed","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/-/variable+names?alt\u003djson-in-script\u0026max-results\u003d50"},{"rel":"self","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/-/variable+names?alt\u003djson-in-script\u0026max-results\u003d50"},{"rel":"alternate","type":"text/html","href":"http://www.sapui5tutors.com/search/label/variable%20names"},{"rel":"hub","href":"http://pubsubhubbub.appspot.com/"}],"author":[{"name":{"$t":"Sanjo Thomas"},"uri":{"$t":"https://www.blogger.com/profile/06687889588258406801"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"35","height":"35","src":"//www.blogger.com/img/blogger_logo_round_35.png"}}],"generator":{"version":"7.00","uri":"https://www.blogger.com","$t":"Blogger"},"openSearch$totalResults":{"$t":"1"},"openSearch$startIndex":{"$t":"1"},"openSearch$itemsPerPage":{"$t":"50"},"entry":[{"id":{"$t":"tag:blogger.com,1999:blog-3826368468004556615.post-7322926439420789827"},"published":{"$t":"2022-12-08T23:52:00.007-08:00"},"updated":{"$t":"2023-06-07T19:51:35.770-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"code quality"},{"scheme":"http://www.blogger.com/atom/ns#","term":"maintainability"},{"scheme":"http://www.blogger.com/atom/ns#","term":"sapui5 best practices"},{"scheme":"http://www.blogger.com/atom/ns#","term":"variable names"},{"scheme":"http://www.blogger.com/atom/ns#","term":"git"}],"title":{"type":"text","$t":"How to improve SAP UI5 \u200b\u200bapp code quality and maintainability"},"content":{"type":"html","$t":"\u003cp\u003e\u003c/p\u003e\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"color: black; mso-bidi-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eIn\nt\u003c/span\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003ehis blog, I briefly\ndescribe some of the things I do to address this issue and how to do the same.\nThese are practically common practices throughout software development,\nincluding some UI5-specific examples. \u003c/span\u003e\u003cspan style\u003d\"color: black; mso-bidi-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF3w3WqBBIWFb4Hj0PEgqSe7ESMEWUOj6ymgFUgbTPDnePLGjHMlIuokpEN49rV4d0K2xEwdIKV0ZLRGhFFH3fDIC9aylIEHifEgh-0wWq7PS33gbtQkXPwViYfae3cyeXBbHWdoAKqX9PbjXlyc0ZAXtRcGubVFH6zPIDegFYbi_FCJY7JMgcHY4/s1006/IMG_1910.jpeg\" imageanchor\u003d\"1\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg border\u003d\"0\" data-original-height\u003d\"790\" data-original-width\u003d\"1006\" height\u003d\"157\" src\u003d\"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF3w3WqBBIWFb4Hj0PEgqSe7ESMEWUOj6ymgFUgbTPDnePLGjHMlIuokpEN49rV4d0K2xEwdIKV0ZLRGhFFH3fDIC9aylIEHifEgh-0wWq7PS33gbtQkXPwViYfae3cyeXBbHWdoAKqX9PbjXlyc0ZAXtRcGubVFH6zPIDegFYbi_FCJY7JMgcHY4/w200-h157/IMG_1910.jpeg\" width\u003d\"200\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cbr /\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003e\u003cbr /\u003e\u003c/span\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"background: repeat white; color: black; font-size: 12pt; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eUsing Git \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eGit is the industry standard for version control. You're trying to improve\nyour UI5 application, and this often means removing code, moving code around,\nor rewriting code. If you don't understand the importance of version control,\nyou should learn Git and read how it works. Change. The only way I'm used to\nremoving files, functions, and rewriting code from a legacy project is knowing\nthat there is some form of copy of the code at every step. If there's one\ntakeaway from this blog, it's that every project should use Git. \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"background: repeat white; color: black; font-size: 12pt; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eDelete unused functions / dead code\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003e \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eThis is really easy! Check the title of the individual function and look\nfor its references throughout the application. Note that it should only search\nthe entire project structure, as it can be called from other controllers or directly\nfrom views. Found something invisible being used somewhere? erase. All projects\nneed to use Git, and there will always be a copy of this functionality, so\nremoving it doesn't mean it's gone forever. You could write the name of the deleted\nfunction in the commit message for easy retrieval later, but often people are\nafraid to delete it, so legacy projects have a lot of dead Code exists.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"background: repeat white; color: black; font-size: 12pt; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eUse clear and descriptive names for functions and\nvariables\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003e \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eFunctions and variables should be named appropriately. Always use a\nfunction named \"returnUserNameFromSettingsModel\" instead of saying\n\"returnUN\". This is because \"UN\" may make sense in context,\nbut the former is more specific and less ambiguous. I realize this example is a\nbit contrived, but it's a common pattern that hurts applications. \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003ePlease provide complete and unambiguous function and variable names. You\nmight know someone's name today, even if you can't remember it a week from now.\n\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"background: repeat white; color: black; font-size: 12pt; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eDon't Repeat Yourself \u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eDon't Repeat Yourself (also known as DRY) is a common software\nengineering principle that is easy to implement. look at your function. Is\nthere a common, repetitive sequence of steps? Suppose you have a step that\nupdates table data.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eCan this step be performed when removing items from this table, adding\nitems, or updating items? Can the table be updated with the click of a button?\nWhatever the case you will probably have repeated that same 'refresh table'\ncode multiple times throughout your application so you need to extract this\nmethod into a single function and call that rather than repeat the same code\nover and over again. \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eNot only will this improve your code quality, maintainability and\nreadability it will also reduce the number of lines of code and make our life\neasier. \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"background: repeat white; color: black; font-size: 12pt; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eMake use of your base controller\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003e \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eLarger applications (multiple views and controllers) should make use of\na base controller, this is commonly found inside of the larger SAP template\napplications and so shouldn't be that hard to introduce if you're missing one.\n(let me know if you'd like a blog on this subject) \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eThe base controller can then be used to store common functions which are\nused across your application. \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eThis is essentially an extension of DRY but making use of our tools at\nour disposal such as the basecontroller as this is common among our\napplications. This tip/tip can easily get out of hand and leave you with 2K\nrows in your base controller, so use it only when appropriate. \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"background: repeat white; color: black; font-size: 12pt; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eRefactoring\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003e \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eRefactoring is the process of taking existing code and improving it by rewriting\nthe existing code to produce the same functionality. In software development,\nthis is often written as \"change the internal structure without changing the\nexternal behavior\". This is what I do all the time in my code and projects,\nand you should too. \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eDon't just sit down and do one refactor. Refactoring is a discipline, a\ncontinuous process of looking at something and thinking, \"Can I do this better?\"\nIt's something we all strive for. There are many blogs, books and videos about\nrefactoring, so I won't repeat everything that has been said elsewhere. \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eRefactoring is one of the most important processes a software developer\ncan incorporate into their workflow, regardless of the programming language or\nframework they use. \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"background: repeat white; color: black; font-size: 12pt; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eCreating a utility file\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003e \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eYou may create a utility file. A utility file extracts a common process\nand puts all its functionality into a single file. There are examples like\ninstantiating a fragment and putting it in a \"fragmentManager\" file. Then\nyou can use this file as a place to instantiate your fragment. To access the functionality,\nsimply import the fragment manager into your controller. \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003eThis goes a long way in reducing your controller or base controller code\nto almost \"boilerplate\" and putting it in a nice little box that you\ncan call upon as needed. This has the same benefits as moving items to the base\ncontroller, but is more specific and helps reduce base controller bloat when\nthings get unwieldy.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"background: repeat white; color: black; font-size: 12pt; mso-bidi-font-family: Arial;\"\u003eDirect \u003c/span\u003emodel binding \u003co:p\u003e\u003c/o:p\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial;\"\u003eAlthough\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e I \u003c/span\u003erecognize\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e and use \u003c/span\u003eJSON forms\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e a \u003c/span\u003elot,\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e and their use is unavoidable \u003c/span\u003eat times,\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e you \u003c/span\u003eshould\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e use direct \u003c/span\u003eform\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e binding \u003c/span\u003ewhenever possible.\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\n\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial;\"\u003eThe direct form\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e binding is where the \u003c/span\u003efunction/service collection is\ncalled in\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e your \u003c/span\u003eXML, without any JavaScript.\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e This is \u003c/span\u003etypically\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e achieved \u003c/span\u003eby\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e controls such as search \u003c/span\u003ewizards, as they typically\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e only \u003c/span\u003ereturn\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e lists of data \u003c/span\u003ewithout\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e dynamic filters. \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial;\"\u003eThis can free up \u003c/span\u003edrivers a lot\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e if you have \u003c/span\u003ea lot\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e of calls that can easily \u003c/span\u003eexist\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;\"\u003e in XML and automatically update your gateway service.\u003c/span\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"background: repeat white; color: black; mso-bidi-font-family: Arial;\"\u003e\u003co:p\u003e\u0026nbsp;\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;\"\u003e\u003cspan style\u003d\"color: black; mso-bidi-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;; mso-fareast-language: EN-IN;\"\u003e\u003co:p\u003e\u0026nbsp;\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\u003cbr /\u003e\u003cp\u003e\u003c/p\u003e"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https://www.sapui5tutors.com/feeds/7322926439420789827/comments/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https://www.sapui5tutors.com/2022/12/how-to-improve-sap-ui5-app-code-quality.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/7322926439420789827"},{"rel":"self","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/7322926439420789827"},{"rel":"alternate","type":"text/html","href":"https://www.sapui5tutors.com/2022/12/how-to-improve-sap-ui5-app-code-quality.html","title":"How to improve SAP UI5 \u200b\u200bapp code quality and maintainability"}],"author":[{"name":{"$t":"Sanjo Thomas"},"uri":{"$t":"https://www.blogger.com/profile/06687889588258406801"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"35","height":"35","src":"//www.blogger.com/img/blogger_logo_round_35.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF3w3WqBBIWFb4Hj0PEgqSe7ESMEWUOj6ymgFUgbTPDnePLGjHMlIuokpEN49rV4d0K2xEwdIKV0ZLRGhFFH3fDIC9aylIEHifEgh-0wWq7PS33gbtQkXPwViYfae3cyeXBbHWdoAKqX9PbjXlyc0ZAXtRcGubVFH6zPIDegFYbi_FCJY7JMgcHY4/s72-w200-c-h157/IMG_1910.jpeg","height":"72","width":"72"},"thr$total":{"$t":"0"}}]}});