Search Results

Search found 88745 results on 3550 pages for 'code snippet'.

Page 569/3550 | < Previous Page | 565 566 567 568 569 570 571 572 573 574 575 576  | Next Page >

  • How to refactor a method which breaks "The law of Demeter" principle?

    - by dreza
    I often find myself breaking this principle (not intentially, just through bad design). However recently I've seen a bit of code that I'm not sure of the best approach. I have a number of classes. For simplicity I've taken out the bulk of the classes methods etc public class Paddock { public SoilType Soil { get; private set; } // a whole bunch of other properties around paddock information } public class SoilType { public SoilDrainageType Drainage { get; private set; } // a whole bunch of other properties around soil types } public class SoilDrainageType { // a whole bunch of public properties that expose soil drainage values public double GetProportionOfDrainage(SoilType soil, double blockRatio) { // This method does a number of calculations using public properties // exposed off SoilType as well as the blockRatio value in some conditions } } In the code I have seen in a number of places calls like so paddock.Soil.Drainage.GetProportionOfDrainage(paddock.Soil, paddock.GetBlockRatio()); or within the block object itself in places it's Soil.Drainage.GetProportionOfDrainage(this.Soil, this.GetBlockRatio()); Upon reading this seems to break "The Law of Demeter" in that I'm chaining together these properties to access the method I want. So my thought in order to adjust this was to create public methods on SoilType and Paddock that contains wrappers i.e. on paddock it would be public class Paddock { public double GetProportionOfDrainage() { return Soil.GetProportionOfDrainage(this.GetBlockRatio()); } } on the SoilType it would be public class SoilType { public double GetProportionOfDrainage(double blockRatio) { return Drainage.GetProportionOfDrainage(this, blockRatio); } } so now calls where it used would be simply // used outside of paddock class where we can access instances of Paddock paddock.GetProportionofDrainage() or this.GetProportionOfDrainage(); // if used within Paddock class This seemed like a nice alternative. However now I have a concern over how would I enforce this usage and stop anyone else from writing code such as paddock.Soil.Drainage.GetProportionOfDrainage(paddock.Soil, paddock.GetBlockRatio()); rather than just paddock.GetProportionOfDrainage(); I need the properties to remain public at this stage as they are too ingrained in usage throughout the code block. However I don't really want a mixture of accessing the method on DrainageType directly as that seems to defeat the purpose altogether. What would be the appropiate design approach in this situation? I can provide more information as required to better help in answers. Is my thoughts on refactoring this even appropiate or should is it best to leave it as is and use the property chaining to access the method as and when required?

    Read the article

  • Introduction to Google Apps Script Triggers

    Introduction to Google Apps Script Triggers Love Apps Script, but wish that it would just automatically work in the background? We've got just the thing for you - Triggers! This show will be an introductory level show about how to set up Apps Script so your scripts are run on a schedule, or in response to certain events like a spreadsheet being edited or a form submission. We'll talk about what triggers are, how to manually schedule triggers, how to programmatically create them, and some of the cool things you can do with them. From: GoogleDevelopers Views: 87 13 ratings Time: 50:17 More in Science & Technology

    Read the article

  • Google I/O 2012 - How we Make JavaScript Widgets Scream

    Google I/O 2012 - How we Make JavaScript Widgets Scream Malte Ubl, John Hjelmstad When loading websites every millisecond counts. Social widgets should enhance a website experience and they should definitely not slow it down. We'll walk through the unique challenges of loading social widgets such as the +1 button and how we made sure that they load as fast as possible -- yes, there will be war stories! While we'll focus on widget performance, many of the techniques we used have wider applicability and we'll show how they can make your website faster, too. For all I/O 2012 sessions, go to developers.google.com From: GoogleDevelopers Views: 734 3 ratings Time: 51:44 More in Science & Technology

    Read the article

  • In The Open, For RLZ

    When we released a new stable version of Google Chrome last March, we tried to improve the transparency and privacy options of Google Chrome. One area where we’ve...

    Read the article

  • Google Games Chat, Episode #9

    Google Games Chat, Episode #9 The Google Games Chat (official motto: "Way less fun than actually playing games") is back! We're hoping to deliver another exciting discussion about industry trends and hot new game-related technologies, but there's a pretty good chance it'll just devolve into 45 minutes of awkward silence. From: GoogleDevelopers Views: 0 5 ratings Time: 03:00:00 More in Science & Technology

    Read the article

  • CVE-2010-2761, CVE-2010-4411 Vulnerabilities in CGI.pm Perl Module in Solaris 10

    - by chandan
    CVE DescriptionCVSSv2 Base ScoreComponentProduct and Resolution CVE-2010-2761 Failure to Control Generation of Code ('Code Injection') vulnerability 4.3 Perl 5.8 Solaris 10 SPARC: 141552-04 X86: 141553-04 CVE-2010-4411 Unspecified vulnerability in CGI.pm 4.3 This notification describes vulnerabilities fixed in third-party components that are included in Oracle's product distributions.Information about vulnerabilities affecting Oracle products can be found on Oracle Critical Patch Updates and Security Alerts page.

    Read the article

  • Google Chrome Extensions: Launch Event (part 1)

    Google Chrome Extensions: Launch Event (part 1) Video Footage from the Google Chrome Extensions launch event on 12/09/09. In this part, Brian Rakowski, product management director, provides an update on Google Chrome and explains why extensions are important for the Google Chrome team. From: GoogleDevelopers Views: 5175 17 ratings Time: 04:39 More in Science & Technology

    Read the article

< Previous Page | 565 566 567 568 569 570 571 572 573 574 575 576  | Next Page >