Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOLID Liskov substitution principle Barbara Liskov in a 1987 conference keynote address entitled Data abstraction and hierarchy In a computer program,

Similar presentations


Presentation on theme: "SOLID Liskov substitution principle Barbara Liskov in a 1987 conference keynote address entitled Data abstraction and hierarchy In a computer program,"— Presentation transcript:

1 SOLID Liskov substitution principle Barbara Liskov in a 1987 conference keynote address entitled Data abstraction and hierarchy In a computer program, if S is a subtype of T, then objects of type T may be replaced with objects of type S (i.e., objects of type S may substitute objects of type T) without altering any of the desirable properties of that program. Liskov substitution principle (LSP) is a particular definition of a subtyping relation, called (strong) behavioral subtyping FUNCTIONS THAT USE POINTERS OR REFERENCES TO BASE CLASSES MUST BE ABLE TO USE OBJECTS OF DERIVED CLASSES WITHOUT KNOWING IT STOP!!!STOP!!!

2 WHAT THE HECK WAS I TALINKG ABOUT?

3 PresentationsPresentations Presentations are vary important Make sure that you dress nice Don't say umm or ahh Practice Be sure to have notes Use a laser pointer Pretend the audience is in their underwear Don't run with scissors Don't spit when you talk Demo What went wrong?

4 PresentationsPresentations Presentations are vary important Make sure that you dress nice Don't say umm or ahh Practice Be sure to have notes Use a laser pointer Pretend the audience is in their underwear Don't run with scissors Don't spit when you talk Demo What went wrong? Spelling mistakes Spelling mistakes Reading the slides Reading the slides Turning back to audience Turning back to audience Discussions between team members Discussions between team members Poorly dressed! Poorly dressed! Speaking too fast Speaking too fast Speaking to softly Speaking to softly No flow No flow No plan No plan Not enough practice Not enough practice What went wrong? Spelling mistakes Spelling mistakes Reading the slides Reading the slides Turning back to audience Turning back to audience Discussions between team members Discussions between team members Poorly dressed! Poorly dressed! Speaking too fast Speaking too fast Speaking to softly Speaking to softly No flow No flow No plan No plan Not enough practice Not enough practice What went wrong? Slides too busy, font too small Slides too busy, font too small Too many things at once Too many things at once No setting of the stage No setting of the stage Umms...ahhs... Umms...ahhs... technology problems technology problems talking at the wrong level to your audience talking at the wrong level to your audience trying to cover too much content or too much detail trying to cover too much content or too much detail inappropriate language inappropriate language What went wrong? Slides too busy, font too small Slides too busy, font too small Too many things at once Too many things at once No setting of the stage No setting of the stage Umms...ahhs... Umms...ahhs... technology problems technology problems talking at the wrong level to your audience talking at the wrong level to your audience trying to cover too much content or too much detail trying to cover too much content or too much detail inappropriate language inappropriate language

5 Presenting is scary...

6 But it's a skill just like any other...

7 You will screw up...

8 But that's ok...it's ok to screw up!!!

9 A few hints...

10

11 Preparation!!!Preparation!!!

12 If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack.” If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack.” ― Winston S. ChurchillWinston S. Churchill Audiences remember 10% of what you say... Tell 'em what you're going to tell 'em... Tell 'em... Tell 'em what you told them... Fear or laughter cements messages...

13 For instance... Prepare for the worst, plan for the best, and make the best of the reality! Prepare for the worst, plan for the best, and make the best of the reality!

14 Build a flow to your presentation Tell them a story!

15 Read the wiki slides for flow tips

16 Toastmasters or Dale Carnegie Public Speaking Course http://sheridanbruins.toastmastersclubs.org/ Get along with groups Get along with groups Influence groups without friction Influence groups without friction Improve your confidence 10 fold Improve your confidence 10 fold Improve your interviewing skills Improve your interviewing skills Likely the best thing you can do to improve your career Likely the best thing you can do to improve your career Make more $$$'s Make more $$$'s A great thing to improve your life A great thing to improve your life It's not as scary as it seems at the beginning It's not as scary as it seems at the beginning Get along with groups Get along with groups Influence groups without friction Influence groups without friction Improve your confidence 10 fold Improve your confidence 10 fold Improve your interviewing skills Improve your interviewing skills Likely the best thing you can do to improve your career Likely the best thing you can do to improve your career Make more $$$'s Make more $$$'s A great thing to improve your life A great thing to improve your life It's not as scary as it seems at the beginning It's not as scary as it seems at the beginning

17 5 skills of successful developers Understand OOP at a greater depth than other programmers. Understand OOP at a greater depth than other programmers. Write clean, cohesive, loosely-coupled code that is easy to read, to maintain, an to re-use. Write clean, cohesive, loosely-coupled code that is easy to read, to maintain, an to re-use. Get along in groups very well Get along in groups very well Can present their ideas and build consensus Can present their ideas and build consensus Strike a good work and life balance Strike a good work and life balance

18 Working in Teams We teach you all about how to architect code, write code, manage code... We teach you all about how to architect code, write code, manage code... What we should teach you is how to work in teams. What we should teach you is how to work in teams. The coding part is easier... The coding part is easier...

19 Working in Teams: The big stuff If everyone in the group agrees that you are the problem, then you are the problem. If everyone in the group agrees that you are the problem, then you are the problem. If everyone else in the group is the problem, then you are the problem. If everyone else in the group is the problem, then you are the problem. Don't mistake bullying for leadership. Don't mistake bullying for leadership. Don't make the mistake of thinking that others won't notice if you coast through a project. Don't make the mistake of thinking that others won't notice if you coast through a project.

20 Clarity is the key Define clear goals and deliverables Define clear goals and deliverables Assign work in a clear, unambiguous way. Assign work in a clear, unambiguous way. Document plan and have team sign-off on it Document plan and have team sign-off on it Build checkpoints into the plan Build checkpoints into the plan Attack problems, not people Attack problems, not people IOFS IOFS

21 A Suggestion... Meet as a group. Discuss the deliverables. Meet as a group. Discuss the deliverables. Agree on who will do what. Agree on who will do what. Try the tandem approach where two members of the team share a task and work together on it. Try the tandem approach where two members of the team share a task and work together on it.

22 A Suggestion Record this contract on Trello, create a vote tab and have each team member vote their agreement. Record this contract on Trello, create a vote tab and have each team member vote their agreement. This is a contract! This is a contract! Build a regular checkpoint for the entire team to present their work so far. Build a regular checkpoint for the entire team to present their work so far. Be supportive and constructive Be supportive and constructive

23 Being a leader One of the hardest things about being a leader is that letting your team do the work even if it isn't how you would have done it. One of the hardest things about being a leader is that letting your team do the work even if it isn't how you would have done it. The 2 worst things a leader can do: The 2 worst things a leader can do: – agree with no one – agree with everyone.

24 There will still be problems... Problems need to be addressed head on. Problems need to be addressed head on. Discuss problems from the perspective of fixing them, not from a position of assigning blame. Discuss problems from the perspective of fixing them, not from a position of assigning blame. Sometimes you can solve things together. Sometimes you can solve things together. Sometimes it helps to have a third party weigh in. Sometimes it helps to have a third party weigh in. However, it should NEVER get personal. However, it should NEVER get personal.

25 There will still be problems... Common sense, practice and experience helps! Common sense, practice and experience helps! Make no mistake, you will work with many groups in your career...some will be great...MOST WILL NOT!!! Make no mistake, you will work with many groups in your career...some will be great...MOST WILL NOT!!! If all else fails...IOFS If all else fails...IOFS


Download ppt "SOLID Liskov substitution principle Barbara Liskov in a 1987 conference keynote address entitled Data abstraction and hierarchy In a computer program,"

Similar presentations


Ads by Google