140 likes | 285 Views
2009 Spring Conference Luis I. Gomez. Coding Practices Integrating Tools for BR Dev. Integrating Tools for BR Dev. SourceSafe Live vs. development s ystem ExamDiff Pro MyEdit Code templates Data driven p rogramming PRINTER.SYS and PRINTER.CLS. Microsoft Visual SourceSafe.
E N D
2009 Spring Conference Luis I. Gomez Coding PracticesIntegrating Tools for BR Dev
Integrating Tools for BR Dev • SourceSafe • Live vs. development system • ExamDiff Pro • MyEdit • Code templates • Data driven programming • PRINTER.SYS and PRINTER.CLS
Microsoft Visual SourceSafe • Provides source control to project. • Multi programmer environment • Lock program during development • Release versions are assigned • 3-5 released per week. • CM 7.1F.010 is an example release. • Each compile increments the last number. • The letter is changed periodically, usually when something significant has happened. • The main version numberis changed annually.
Microsoft Visual SourceSafe • Documenting program changes • Description of changes on check in • Second project maintained (source) • Review all the changes on a monthly basis. • Catch mistakes. • Allows for additional documentation. • Automatically generate release notes • [See Collection-Master Release Notes folder.]
Microsoft Visual SourceSafe • Disaster recovery • Complete copies of every version • Every program • Configuration template • Report template • Prior versions • Revert to old copy. • Compare to any prior instance. • Easily identify the “new code.”
Microsoft Visual SourceSafe • Tight BR integration • PROC CO • PROC CI • PROC ST • PROC UndoCo • [See SourceSafe folder.]
Development System • Process to release new code. • Write the program in dev system. • Thoroughly test the application. • After passing, move to the production system. • Again, test the application. • Publish the changes to customers.
ExamDiff Pro • When you need to compare files or folders, no tool is more powerful and easy-to-use than ExamDiff Pro! • Migrate source code from dev system. • Compare dev to live system. • Easily move sections of code. • Manually enhance code. • Reload source andsave. • http://www.prestosoft.com/edp_examdiffpro.asp
MyEdit and Notepad++ • They each have a lot to offer. • Easy to view color coding. • Built in error checking provides hints, warnings anderrors. • Easily cut andpaste from other programs. • Built in “Intelli-Sence” provides auto completion and other automation. • Powerful debugger allows easy “GO STEP” with a simple GUI interface.
MyEdit and Notepad++ • When coding, we use line # 00000. • That allows us to write code without worrying about line numbers. • Program will not load until we remember to fix up the line numbers. • Use “refactor” to renumber the lines.
MyEdit • Fantastic viewer for SourceSafe • Replacement viewer for most file types • Automatically view “.wb” files • Compare two program versions • built in or external DIFF programs
Code Templates • “Cut & Paste” • Routines to merge or proc code • Use LIBRARYfunctions. • Older programs use LOCAL functions. • Use a “wrapper LOCAL function.” • [See Printer_Selection.brs.] • “Wrapper” may have very few parameters. • Variables within the “Wrapper” are global to the program. • ‘Updateable region” comments to easily identify the start and end of code. • Later, we can easily replace the “wrapper function” with an enhanced version. • [See Regionfolder.]
DATA Driven Programming • Use data files • Instead of “hard coding” programs • Menus – [SeeMENU_Samplefolder.] • Reports – [SeeTemplate_Samplefolder.] • File Layouts – [See SQL_Samplefolder.] • SQL variable names • Combined with arrays • Provide clear programming variables • Very easy to later enhance the database • See Gabriel’s SQL-IO (not included). • See CONTEXT.WB (not included).
PRINTER.SYS and PRINTER.CLS • We at CLS often refer to this as NWP. • Single report template • Will print to any device • (Text, HTML, PCL, NWP) • NWP.CHM • Detailed documentation on how to use these codes • [See Printing folder.] • [See NWP.CHM.]