SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
Talking effectively about
code
Peeling the onion with minimum tears
!
!
Poornima Venkatakrishnan
!
!
!

•

Buddy coding

•

Peer reviews

•

Technical presentations
Organize your thoughts…
•

Context: What is the problem you are trying to solve

•

Design: What do you understand about the existing
system

•

Impact: What moving parts do you think the change
you are making will affect
Deep Dive!
Explain :
•

What you are trying to accomplish

•

Moving parts that are impacted

•

your changes/ proposal (top down approach)
(+/-)

•

Parts that you don’t understand as you understand it.
Example: Content shows up in development mode but
does not in production mode.
•

Context: Want to be able to translate some service
data in the controllers before rendering a view.

•

Design: App, Service wrapper, Makara

•

Impact: Need to add the content into data that is fed
into res.render(view, data), so it will impact just the
rendering of that view.

•

Problem: Sometimes the content was missing when
page rendered…. and the problem was incorrect
handling of async.
iff you are curious …
//in the controller
server.get('/bar', function(req, res) {
async.waterfall([
function reqDataFromService(next) {
//.......

!

!
});
!
!

req.data = serviceData;
next();

!

!

},
function translateServiceData(next) {
mapContent('propFile', req);
next();
}
], function() {
//.....
res.render('barView', req.data);
});

function mapContent(file, req) {
//.......

!

//in the controller
server.get('/bar', function(req, res) {
async.waterfall([
function reqDataFromService(next) {
//.......

content.loadContentBundle(file, locale, function(err, bundle)
{
if (!err) {
var bundleRoot = bundle.get('foo');
req.data.bar = bundleRoot[req.data.bar];
}

!
});
!
!

req.data = serviceData;
next();
},
function translateServiceData(next) {
mapContent('propFile', req, function() {
next();
});
}
], function() {
//.....
res.render('barView', req.data);
});

function mapContent(file, req, cb) {
//.......

!
!

content.loadContentBundle(file, locale, function(err, bundle) {
if (!err) {
var bundleRoot = bundle.get('foo');
req.data.bar = bundleRoot[req.data.bar];
}
cb();

});
}

});
}
Keep it simple
Rules of thumb

•

If you are asking: Say more

•

If you are answering: Ask more

•

If you are presenting: Simplify
Lost in translation ?
!
!
!
!
•

Best unifying language is the programming language

•

Share your code to demonstrate what you are trying to
do…. easy!!

Contenu connexe

Tendances

Responsive App Design with the Salesforce Lightning Design System
Responsive App Design with the Salesforce Lightning Design SystemResponsive App Design with the Salesforce Lightning Design System
Responsive App Design with the Salesforce Lightning Design SystemKeir Bowden
 
DevOps with elmah.io on Umbraco Cloud
DevOps with elmah.io on Umbraco CloudDevOps with elmah.io on Umbraco Cloud
DevOps with elmah.io on Umbraco CloudThomas Ardal
 
How to work faster by building your design systems with Webflow - No Code Con...
How to work faster by building your design systems with Webflow - No Code Con...How to work faster by building your design systems with Webflow - No Code Con...
How to work faster by building your design systems with Webflow - No Code Con...Webflow
 
SUGUK Let me script that for you
SUGUK Let me script that for youSUGUK Let me script that for you
SUGUK Let me script that for yousharepointbaker
 
Kanban board: workflow simplified
Kanban board: workflow simplifiedKanban board: workflow simplified
Kanban board: workflow simplifiedProofHub
 
Scrum is good - but kanban is better
Scrum is good - but kanban is betterScrum is good - but kanban is better
Scrum is good - but kanban is betterNeal Champion
 
[HCM Scrum Breakfast - April 17] Dysfunctional Scrum Roles
[HCM Scrum Breakfast - April 17] Dysfunctional Scrum Roles[HCM Scrum Breakfast - April 17] Dysfunctional Scrum Roles
[HCM Scrum Breakfast - April 17] Dysfunctional Scrum RolesScrum Breakfast Vietnam
 
Shepherding User Requirements with TFS
Shepherding User Requirements with TFSShepherding User Requirements with TFS
Shepherding User Requirements with TFSPatrick Tucker
 

Tendances (11)

QAorHighway2016
QAorHighway2016QAorHighway2016
QAorHighway2016
 
Responsive App Design with the Salesforce Lightning Design System
Responsive App Design with the Salesforce Lightning Design SystemResponsive App Design with the Salesforce Lightning Design System
Responsive App Design with the Salesforce Lightning Design System
 
DevOps with elmah.io on Umbraco Cloud
DevOps with elmah.io on Umbraco CloudDevOps with elmah.io on Umbraco Cloud
DevOps with elmah.io on Umbraco Cloud
 
How to work faster by building your design systems with Webflow - No Code Con...
How to work faster by building your design systems with Webflow - No Code Con...How to work faster by building your design systems with Webflow - No Code Con...
How to work faster by building your design systems with Webflow - No Code Con...
 
SUGUK Let me script that for you
SUGUK Let me script that for youSUGUK Let me script that for you
SUGUK Let me script that for you
 
Kanban board: workflow simplified
Kanban board: workflow simplifiedKanban board: workflow simplified
Kanban board: workflow simplified
 
Scrum is good - but kanban is better
Scrum is good - but kanban is betterScrum is good - but kanban is better
Scrum is good - but kanban is better
 
[HCM Scrum Breakfast - April 17] Dysfunctional Scrum Roles
[HCM Scrum Breakfast - April 17] Dysfunctional Scrum Roles[HCM Scrum Breakfast - April 17] Dysfunctional Scrum Roles
[HCM Scrum Breakfast - April 17] Dysfunctional Scrum Roles
 
Scrum refresh
Scrum refreshScrum refresh
Scrum refresh
 
Kicking Off Asana
Kicking Off AsanaKicking Off Asana
Kicking Off Asana
 
Shepherding User Requirements with TFS
Shepherding User Requirements with TFSShepherding User Requirements with TFS
Shepherding User Requirements with TFS
 

En vedette

Servers fail, who cares?
Servers fail, who cares? Servers fail, who cares?
Servers fail, who cares? greggulrich
 
თეას გეგმა
თეას გეგმათეას გეგმა
თეას გეგმაteanaveriani
 
461361 1013243 chapter_2_dec__11
461361 1013243 chapter_2_dec__11461361 1013243 chapter_2_dec__11
461361 1013243 chapter_2_dec__11anup4704
 
ინგლისის კულტურა
ინგლისის კულტურაინგლისის კულტურა
ინგლისის კულტურაteanaveriani
 
Oracle and its related technologies
Oracle and its related technologiesOracle and its related technologies
Oracle and its related technologiesanup4704
 
Oracle and its related technologies
Oracle and its related technologiesOracle and its related technologies
Oracle and its related technologiesanup4704
 
Optimizing Cassandra in AWS
Optimizing Cassandra in AWSOptimizing Cassandra in AWS
Optimizing Cassandra in AWSgreggulrich
 
ინგლისის კულტურა
ინგლისის კულტურაინგლისის კულტურა
ინგლისის კულტურაteanaveriani
 
Cuffless blood pressure monitoring project
Cuffless blood pressure monitoring projectCuffless blood pressure monitoring project
Cuffless blood pressure monitoring projectVipul Chavan
 
ინგლისის კულტურა
ინგლისის კულტურაინგლისის კულტურა
ინგლისის კულტურაteanaveriani
 
Building self confidence
Building self confidenceBuilding self confidence
Building self confidenceVipul Chavan
 
Cassandra Operations at Netflix
Cassandra Operations at NetflixCassandra Operations at Netflix
Cassandra Operations at Netflixgreggulrich
 

En vedette (18)

Servers fail, who cares?
Servers fail, who cares? Servers fail, who cares?
Servers fail, who cares?
 
MPD-case study
MPD-case studyMPD-case study
MPD-case study
 
Jason Hanin: case study
Jason Hanin: case studyJason Hanin: case study
Jason Hanin: case study
 
თეას გეგმა
თეას გეგმათეას გეგმა
თეას გეგმა
 
461361 1013243 chapter_2_dec__11
461361 1013243 chapter_2_dec__11461361 1013243 chapter_2_dec__11
461361 1013243 chapter_2_dec__11
 
ინგლისის კულტურა
ინგლისის კულტურაინგლისის კულტურა
ინგლისის კულტურა
 
Oracle and its related technologies
Oracle and its related technologiesOracle and its related technologies
Oracle and its related technologies
 
Oracle and its related technologies
Oracle and its related technologiesOracle and its related technologies
Oracle and its related technologies
 
Optimizing Cassandra in AWS
Optimizing Cassandra in AWSOptimizing Cassandra in AWS
Optimizing Cassandra in AWS
 
Boost3 / Investor Pitchbook
Boost3 / Investor PitchbookBoost3 / Investor Pitchbook
Boost3 / Investor Pitchbook
 
Blue Ocean: case study
Blue Ocean: case studyBlue Ocean: case study
Blue Ocean: case study
 
Brendaly guerra
Brendaly guerraBrendaly guerra
Brendaly guerra
 
ინგლისის კულტურა
ინგლისის კულტურაინგლისის კულტურა
ინგლისის კულტურა
 
Cuffless blood pressure monitoring project
Cuffless blood pressure monitoring projectCuffless blood pressure monitoring project
Cuffless blood pressure monitoring project
 
ინგლისის კულტურა
ინგლისის კულტურაინგლისის კულტურა
ინგლისის კულტურა
 
Polygraph machine
Polygraph machinePolygraph machine
Polygraph machine
 
Building self confidence
Building self confidenceBuilding self confidence
Building self confidence
 
Cassandra Operations at Netflix
Cassandra Operations at NetflixCassandra Operations at Netflix
Cassandra Operations at Netflix
 

Similaire à Talking effectively about code

A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5SSW
 
This is not a talk about sharepoint 2013
This is not a talk about sharepoint 2013This is not a talk about sharepoint 2013
This is not a talk about sharepoint 2013Kevin Davis
 
Features, Exportables & You
Features, Exportables & YouFeatures, Exportables & You
Features, Exportables & Youjskulski
 
JSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday JerseyJSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday JerseyPaul Hunt
 
Customizing ERModernLook Applications
Customizing ERModernLook ApplicationsCustomizing ERModernLook Applications
Customizing ERModernLook ApplicationsWO Community
 
Understand front end developer
Understand front end developerUnderstand front end developer
Understand front end developerHsuan Fu Lien
 
Rethinking accessibility related best practices for CSS in the modern age
Rethinking accessibility related best practices for CSS in the modern ageRethinking accessibility related best practices for CSS in the modern age
Rethinking accessibility related best practices for CSS in the modern ageshwetank
 
Denver Salesforce Developer User Group dec 2016 lightning components
Denver Salesforce Developer User Group dec 2016 lightning componentsDenver Salesforce Developer User Group dec 2016 lightning components
Denver Salesforce Developer User Group dec 2016 lightning componentsMike Tetlow
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperOfer Zelig
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your WebsiteAcquia
 
SharePoint Saturday San Antonio: Workflow 2013
SharePoint Saturday San Antonio: Workflow 2013SharePoint Saturday San Antonio: Workflow 2013
SharePoint Saturday San Antonio: Workflow 2013Sam Larko
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsSPC Adriatics
 
Lean-Agile SharePoint Development
Lean-Agile SharePoint DevelopmentLean-Agile SharePoint Development
Lean-Agile SharePoint DevelopmentBill Ayers
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017Marc D Anderson
 
Nsc 2013 06-17 - random rants on 2013
Nsc 2013 06-17 - random rants on 2013Nsc 2013 06-17 - random rants on 2013
Nsc 2013 06-17 - random rants on 2013Mikael Svenson
 
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...Datapolis
 
What is SharePoint Development??
What is SharePoint Development??What is SharePoint Development??
What is SharePoint Development??Mark Rackley
 
What IS SharePoint Development? by Mark Rackley - SPTechCon
 What IS SharePoint Development? by Mark Rackley - SPTechCon What IS SharePoint Development? by Mark Rackley - SPTechCon
What IS SharePoint Development? by Mark Rackley - SPTechConSPTechCon
 
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondSpark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondAngela Byron
 
Design Systems at Scale
Design Systems at ScaleDesign Systems at Scale
Design Systems at ScaleSarah Federman
 

Similaire à Talking effectively about code (20)

A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5
 
This is not a talk about sharepoint 2013
This is not a talk about sharepoint 2013This is not a talk about sharepoint 2013
This is not a talk about sharepoint 2013
 
Features, Exportables & You
Features, Exportables & YouFeatures, Exportables & You
Features, Exportables & You
 
JSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday JerseyJSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday Jersey
 
Customizing ERModernLook Applications
Customizing ERModernLook ApplicationsCustomizing ERModernLook Applications
Customizing ERModernLook Applications
 
Understand front end developer
Understand front end developerUnderstand front end developer
Understand front end developer
 
Rethinking accessibility related best practices for CSS in the modern age
Rethinking accessibility related best practices for CSS in the modern ageRethinking accessibility related best practices for CSS in the modern age
Rethinking accessibility related best practices for CSS in the modern age
 
Denver Salesforce Developer User Group dec 2016 lightning components
Denver Salesforce Developer User Group dec 2016 lightning componentsDenver Salesforce Developer User Group dec 2016 lightning components
Denver Salesforce Developer User Group dec 2016 lightning components
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET Developer
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
 
SharePoint Saturday San Antonio: Workflow 2013
SharePoint Saturday San Antonio: Workflow 2013SharePoint Saturday San Antonio: Workflow 2013
SharePoint Saturday San Antonio: Workflow 2013
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and Solutions
 
Lean-Agile SharePoint Development
Lean-Agile SharePoint DevelopmentLean-Agile SharePoint Development
Lean-Agile SharePoint Development
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
Nsc 2013 06-17 - random rants on 2013
Nsc 2013 06-17 - random rants on 2013Nsc 2013 06-17 - random rants on 2013
Nsc 2013 06-17 - random rants on 2013
 
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
 
What is SharePoint Development??
What is SharePoint Development??What is SharePoint Development??
What is SharePoint Development??
 
What IS SharePoint Development? by Mark Rackley - SPTechCon
 What IS SharePoint Development? by Mark Rackley - SPTechCon What IS SharePoint Development? by Mark Rackley - SPTechCon
What IS SharePoint Development? by Mark Rackley - SPTechCon
 
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondSpark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
 
Design Systems at Scale
Design Systems at ScaleDesign Systems at Scale
Design Systems at Scale
 

Dernier

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Dernier (20)

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

Talking effectively about code

  • 1. Talking effectively about code Peeling the onion with minimum tears ! ! Poornima Venkatakrishnan
  • 3. Organize your thoughts… • Context: What is the problem you are trying to solve • Design: What do you understand about the existing system • Impact: What moving parts do you think the change you are making will affect
  • 4. Deep Dive! Explain : • What you are trying to accomplish • Moving parts that are impacted • your changes/ proposal (top down approach) (+/-) • Parts that you don’t understand as you understand it.
  • 5. Example: Content shows up in development mode but does not in production mode. • Context: Want to be able to translate some service data in the controllers before rendering a view. • Design: App, Service wrapper, Makara • Impact: Need to add the content into data that is fed into res.render(view, data), so it will impact just the rendering of that view. • Problem: Sometimes the content was missing when page rendered…. and the problem was incorrect handling of async.
  • 6. iff you are curious … //in the controller server.get('/bar', function(req, res) { async.waterfall([ function reqDataFromService(next) { //....... ! ! }); ! ! req.data = serviceData; next(); ! ! }, function translateServiceData(next) { mapContent('propFile', req); next(); } ], function() { //..... res.render('barView', req.data); }); function mapContent(file, req) { //....... ! //in the controller server.get('/bar', function(req, res) { async.waterfall([ function reqDataFromService(next) { //....... content.loadContentBundle(file, locale, function(err, bundle) { if (!err) { var bundleRoot = bundle.get('foo'); req.data.bar = bundleRoot[req.data.bar]; } ! }); ! ! req.data = serviceData; next(); }, function translateServiceData(next) { mapContent('propFile', req, function() { next(); }); } ], function() { //..... res.render('barView', req.data); }); function mapContent(file, req, cb) { //....... ! ! content.loadContentBundle(file, locale, function(err, bundle) { if (!err) { var bundleRoot = bundle.get('foo'); req.data.bar = bundleRoot[req.data.bar]; } cb(); }); } }); }
  • 8. Rules of thumb • If you are asking: Say more • If you are answering: Ask more • If you are presenting: Simplify
  • 9. Lost in translation ? ! ! ! ! • Best unifying language is the programming language • Share your code to demonstrate what you are trying to do…. easy!!