SAS and all other SAS Institute Inc

Slides:



Advertisements
Similar presentations
SAS Workshop Lecture 1 Lecturer: Annie N. Simpson, MSc.
Advertisements

Document Automation About 10 minutes. About Me Notes – page 7 Early years to early adulthood – India; British influence Education – engineering, math,
Join us on Twitter: #AU2015 Autodesk University 2015 – Webcast #2 AU Class Requirements - Handouts, the Autodesk Gallery, and More For audio, call:
Welcome Teachers! - WELCOME TO TEACHER WEBSITE BUILDING 101.
Listening & Note Taking University of Louisville Disability Resource Center.
An Introduction to. Where did Fedora come from? Boxed set every 6 months == Failed business model [
Introduction to CSCI 1311 Dr. Mark C. Lewis
Welcome! Microsoft Dynamics gp user Group (Gpug)
Development Environment
Teaching: Practice with Your Lessons (Grades K-5)
Welcome! Microsoft Dynamics AX user Group (AXug)
Poster Title Author #1 name, ABC Corporation, City, Country Author #2 name, ABC Corporation, City, Country Abstract A brief abstract at the beginning summarizes.
Template for Science Fair Presentations
CSCI-235 Micro-Computer Applications
Language Learning for Busy People
Dear NAWBO Participant:
Capitalizing on Social Media
5th grade Parent Orientation
Information and Advice
Introduction to Lime Survey
To high school and beyond! – Grad lightyear
The way you share your ideas across the profession
PowerPoint Xpress Start
Collaboration with Google Docs
Greetings and Farewells
Written Communication
Poster Title Author #1 name, ABC Corporation, City, Country Author #2 name, ABC Corporation, City, Country Abstract A brief abstract at the beginning summarizes.
Level Three Leadership 2008 Final Presentation Feedback
Peer Reviews Tips for the author.
PROC DOC III: Self-generating Codebooks Using SAS®
Introduction to Networking
Cell Communication This slide should be on screen as participants enter the room. Start workshop on time—do not wait for “stragglers” Welcome participants.
Data Science Meetup Matthew Renze Data Science Consultant
Introducing Metro style device apps
Programming.
Title of Paper or Topic you are Teaching
WISER Humanities: Keeping up to date
with Pearson’s Modified Mastering
Get Started with Pearson’s MathXL
Template for Science Fair Presentations
with Pearson’s MyITLab for Office 2013
Introduction to Engineering Design II (IE 202)
with Pearson’s MasteringBiology
Networking Workshop (2)
with Pearson’s MyITLab for Office 2010
Lecture 5: Writing Page
Get Started with Pearson’s MathXL
with Pearson’s MasteringA&P
with Pearson’s MyMathLab
with Pearson’s MyGraphicsLab
with Pearson’s MasteringEngineering
with Pearson’s MyAccountingLab
ModelBuilder – Getting Started
with Pearson’s MyEconLab
with Pearson’s MyCarpentryLab
with Pearson’s MasteringNutrition
with Pearson’s MyManagementLab
with Pearson’s MyBRADYLab
Kashawanda Lewis November 12,2018 CAPS265
with Pearson’s MyHealthProfessionsLab
with Pearson’s MasteringChemistry
CMPT 120 Lecture 3 - Introduction to Computing Science – Programming language, Variables, Strings, Lists and Modules.
with Pearson’s MasteringAstronomy
How to Talk so Engineers will Listen:
Best Practices for Great Presentations
with Pearson’s MyHVACLab
with Pearson’s MasteringPhysics
with Pearson’s MyHospitalityLab
Paul Kaefer IT Data Analyst/SAS® Developer at UnitedHealthcare in MN
SESSION TITLE Session #<insert number here> Date Month Year
Presentation transcript:

SAS and all other SAS Institute Inc SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration. Other brand and product names are trademarks of their respective companies.

Code Like it Matters: Writing Code That's Readable and Shareable Presenter Paul Kaefer, Data Scientist II, UnitedHealthcare Paul is a data scientist at UnitedHealthcare in Minnesota. He has a B.S. in computer engineering & an M.S. in computational sciences (applied math/data science), both from Marquette University. While pursuing master’s, Paul worked for Marquette University GasDay, a business housed in a research lab that develops software for natural gas forecasting After earning his M.S., he spent five months volunteering at the Ifakara Health Institute in Tanzania, leading statistics/R and technical English communication workshops You are welcome to Tweet @paulkaefer

Code Like It Matters: Writing Code That's Readable and Shareable Paul Kaefer Data Scientist II UnitedHealthcare

(this is an update from my MWSUG paper) Today’s Agenda (this is an update from my MWSUG paper) Introduction Why write readable and shareable code? Best practices for writing Code standards Best practices for sharing Conclusion Discussion You are encouraged to interrupt with questions. I do want to stress the updated PAPER. More tips, more details, and LOADS OF REFERENCES!

Why can I be trusted? Degrees in computer science, experience leading team of developers Maintained large research codebase; transitioned to version control; documentation in company wiki Experience with MATLAB, Java, C, python, R, SAS®, etc. Great feedback from Art, others, at MWSUG, MinnSUG Everything I will present I use [daily]

Coding Like It Matters Coming from a background in software engineering, I see gaps in the SAS field SAS programmers across the board who may work as sole developer or silo on larger team. Either way – not necessarily computer science backgrounds. SAS contractors might work alone or deliver code they developed alone Let’s bridge the gap: software engineering + SAS devs

Only 20 minutes today (MWSUG gave me an hour) Disclaimers Only 20 minutes today (MWSUG gave me an hour) My aim is to begin a discussion and/or share tips Your organization may already be doing some, or these concepts may be new I’m sharing what I see as best practices. I appreciate if you have feedback or other ideas. Please feel free to ask questions!

Readability and Shareability readable – clarity in the structure and content of the code shareable – how quickly and easily someone new can understand and modify your code Similar meanings How “pretty” is your code? And is its function self-explanatory?

Why write readable + shareable code? Software developers often share code with others Sometimes, that other is your future self Things change Database URLs/schemas Rules and regulations Column/variable format Structure of input/config file Have you revisited code you wrote months or years ago? Yeah, it seems like someone else wrote it!

Best practices (WRITING code) Set of coding standards Main points: be consistent (across files, coders, and teams) Examples from the field; any relevant standards Be consistent! Your coding style is a brand. Modularity Comments, comments, comments! Version control Don’t keep many lines of commented-out code

Format your code nicely Some coding standards Format your code nicely DON’T USE ALL CAPS BECAUSE IT LOOKS ANGRY Use whitespace wisely Put commas before variable names? More in the paper…

Which is better?

A brief respite…

Nesting logical statements helps visualize precedence What else? Standard order-of-operations applies, but you can use parentheses liberally so it’s clearer Nesting logical statements helps visualize precedence Note descriptive names, even for work datasets! I might say especially for work dataset names! Like I said earlier – many more in the full paper, and the MWSUG presentation

Best practices (SHARING code) VERSION CONTROL! Who uses version control?

Best practices (SHARING code) VERSION CONTROL! i.e., outsourcing your memory (computers remember better) Saves you over and over… (literally) Documentation Version control can really help (reference commits; descriptive commit messages) Code review Formal, all sitting around a conference table Software options, including version control tool Brief anecdote, time allowing

Thank you! Paul Kaefer UnitedHealthcare Minnetonka, MN (952) 979-7347 paul_kaefer@uhc.com Find me on LinkedIn and Twitter

Go to the Agenda icon in the conference app. Your Feedback Counts! Don't forget to complete the session survey in your conference mobile app.  Go to the Agenda icon in the conference app. Find this session title and select it.  On the Sessions page, scroll down to Surveys and select the name of the survey.  Complete the survey and click Finish.