Search Results

Search found 33755 results on 1351 pages for 'object repository'.

Page 63/1351 | < Previous Page | 59 60 61 62 63 64 65 66 67 68 69 70  | Next Page >

  • Should library classes be wrapped before using them in unit testing?

    - by Songo
    I'm doing unit testing and in one of my classes I need to send a mail from one of the methods, so using constructor injection I inject an instance of Zend_Mail class which is in Zend framework. Example: class Logger{ private $mailer; function __construct(Zend_Mail $mail){ $this->mail=$mail; } function toBeTestedFunction(){ //Some code $this->mail->setTo('some value'); $this->mail->setSubject('some value'); $this->mail->setBody('some value'); $this->mail->send(); //Some } } However, Unit testing demands that I test one component at a time, so I need to mock the Zend_Mail class. In addition I'm violating the Dependency Inversion principle as my Logger class now depends on concretion not abstraction. Does that mean that I can never use a library class directly and must always wrap it in a class of my own? Example: interface Mailer{ public function setTo($to); public function setSubject($subject); public function setBody($body); public function send(); } class MyMailer implements Mailer{ private $mailer; function __construct(){ $this->mail=new Zend_Mail; //The class isn't injected this time } function setTo($to){ $this->mailer->setTo($to); } //implement the rest of the interface functions similarly } And now my Logger class can be happy :D class Logger{ private $mailer; function __construct(Mailer $mail){ $this->mail=$mail; } //rest of the code unchanged } Questions: Although I solved the mocking problem by introducing an interface, I have created a totally new class Mailer that now needs to be unit tested although it only wraps Zend_Mail which is already unit tested by the Zend team. Is there a better approach to all this? Zend_Mail's send() function could actually have a Zend_Transport object when called (i.e. public function send($transport = null)). Does this make the idea of a wrapper class more appealing? The code is in PHP, but answers doesn't have to be. This is more of a design issue than a language specific feature

    Read the article

  • PHP - Internal APIs/Libraries - What makes sense?

    - by Mark Locker
    I've been having a discussion lately with some colleagues about the best way to approach a new project, and thought it'd be interesting to get some external thoughts thrown into the mix. Basically, we're redeveloping a fairly large site (written in PHP) and have differing opinions on how the platform should be setup. Requirements: The platform will need to support multiple internal websites, as well as external (non-PHP) projects which at the moment consist of a mobile app and a toolbar. We have no plans/need in the foreseeable future to open up an API externally (for use in products other than our own). My opinion: We should have a library of well documented native model classes which can be shared between projects. These models will represent everything in our database and can take advantage of object orientated features such as inheritance, traits, magic methods, etc. etc. As well as employing ORM. We can then add an API layer on top of these models which can basically accept requests and route them to the appropriate methods, translating the response so that it can be used platform independently. This routing for each method can be setup as and when it's required. Their opinion: We should have a single HTTP API which is used by all projects (internal PHP ones or otherwise). My thoughts: To me, there are a number of issues with using the sole HTTP API approach: It will be very expensive performance wise. One page request will result in several additional http requests (which although local, are still ones that Apache will need to handle). You'll lose all of the best features PHP has for OO development. From simple inheritance, to employing the likes of ORM which can save you writing a lot of code. For internal projects, the actual process makes me cringe. To get a users name, for example, a request would go out of our box, over the LAN, back in, then run through a script which calls a method, JSON encodes the output and feeds that back. That would then need to be JSON decoded, and be presented as an array ready to use. Working with arrays, as appose to objects, makes me sad in a modern PHP framework. Their thoughts (and my responses): Having one method of doing thing keeps things simple. - You'd only do things differently if you were using a different language anyway. It will become robust. - Seeing as the API will run off the library of models, I think my option would be just as robust. What do you think? I'd be really interested to hear the thoughts of others on this, especially as opinions on both sides are not founded on any past experience.

    Read the article

  • Does OO, TDD, and Refactoring to Smaller Functions affect Speed of Code?

    - by Dennis
    In Computer Science field, I have noticed a notable shift in thinking when it comes to programming. The advice as it stands now is write smaller, more testable code refactor existing code into smaller and smaller chunks of code until most of your methods/functions are just a few lines long write functions that only do one thing (which makes them smaller again) This is a change compared to the "old" or "bad" code practices where you have methods spanning 2500 lines, and big classes doing everything. My question is this: when it call comes down to machine code, to 1s and 0s, to assembly instructions, should I be at all concerned that my class-separated code with variety of small-to-tiny functions generates too much extra overhead? While I am not exactly familiar with how OO code and function calls are handled in ASM in the end, I do have some idea. I assume that each extra function call, object call, or include call (in some languages), generate an extra set of instructions, thereby increasing code's volume and adding various overhead, without adding actual "useful" code. I also imagine that good optimizations can be done to ASM before it is actually ran on the hardware, but that optimization can only do so much too. Hence, my question -- how much overhead (in space and speed) does well-separated code (split up across hundreds of files, classes, and methods) actually introduce compared to having "one big method that contains everything", due to this overhead? UPDATE for clarity: I am assuming that adding more and more functions and more and more objects and classes in a code will result in more and more parameter passing between smaller code pieces. It was said somewhere (quote TBD) that up to 70% of all code is made up of ASM's MOV instruction - loading CPU registers with proper variables, not the actual computation being done. In my case, you load up CPU's time with PUSH/POP instructions to provide linkage and parameter passing between various pieces of code. The smaller you make your pieces of code, the more overhead "linkage" is required. I am concerned that this linkage adds to software bloat and slow-down and I am wondering if I should be concerned about this, and how much, if any at all, because current and future generations of programmers who are building software for the next century, will have to live with and consume software built using these practices. UPDATE: Multiple files I am writing new code now that is slowly replacing old code. In particular I've noted that one of the old classes was a ~3000 line file (as mentioned earlier). Now it is becoming a set of 15-20 files located across various directories, including test files and not including PHP framework I am using to bind some things together. More files are coming as well. When it comes to disk I/O, loading multiple files is slower than loading one large file. Of course not all files are loaded, they are loaded as needed, and disk caching and memory caching options exist, and yet still I believe that loading multiple files takes more processing than loading a single file into memory. I am adding that to my concern.

    Read the article

  • Bug Repository

    - by goldenmean
    Hello, Is there any opensource or public domain repository of bugs where one can see the various bugs, symptoms of those bugs, and their fixes. The bugs could be from any part of the code, OS, GUI, device drivers etc. I guess if at there is anything like this, it might be from some open source development initiative like Linux Kernel Development, or some other Opensource project. Is there anything like this available online? It would be a vluable inputs to developers and testers all alike. wishes, -Ajit

    Read the article

  • How do I add older versions of code into a Subversion repository as tagged versions

    - by TheoJones
    When we finally started using source control, old versions of code were added into the SVN in their own discrete folders, so I ended up with root \libv4 \libv4.2 \lib4.3 \lib5 What I would like to get to is having these older versions of the code as tagged versions inside the repository, like this: root \lib \tags \v4 \v4.2 \v4.3 \v5.0 \trunk how would I go about doing this? I'm using Tortoise SVN on the client side, and visualSVN server at the back.

    Read the article

  • Updating from svn repository returns "Could not read chunk size" error

    - by Denis
    When updating from subversion repository using tortoise svn client I get error looking like that: Could not read chunk size: An existing connection was forcibly closed by the remote host. It doesn't prevent me from updating, just interrupts update process, so that I have to repeat update several times, before it is complete. What can cause such behaviour and how to fix it?

    Read the article

  • SVN Repository folders don't match my solution folder structure in Visual Studio or folder structure

    - by Carlos
    I have a .NET solution which was badly organised, so I moved some projects around to appropriate folders. In the solution, I simply fixed the paths to the new locations, and everything is working in my working copy. I used AnkhSVN to commit the solution to the repository, which worked out fine as well. However, when I look in the repo explorer, the folders inside are organised in the old way. What do I need to do?

    Read the article

  • GIT Exclude Specific Files when Pushing to Specific Repository

    - by Kevin Sylvestre
    Is it possible to exclude specific files (*.ai, *.psd) when pushing to certain repositories with GIT? My need comes from trying to use GIT for both version control and deployment to Heroku. If I include my graphic assets in the deploy, they slug size is larger than desired. However, I do need to include all project files in my main github repository. Thanks, Kevin

    Read the article

  • Repository organization and selective checkout

    - by Maurizio Reginelli
    I am using TortoiseSVN and I have a SVN repository organized in this way: folder1 folder2 trunk tag branches folder3 trunk tag branches folder4 folder5 trunk tag branches I would like to know if there is a way to checkout only trunk directories, keeping the entire tree under the versioning control: folder1 folder2 trunk folder3 trunk folder4 folder5 trunk In this way I can update all trunks with a single update command on folder1, without updating tags and branches which can be full of data.

    Read the article

  • Creating a local CRAN repository

    - by harshsinghal
    I would like to create a local CRAN repository such that users in my company can install packages from it and the system admins can update the local repo periodically. Access to the CRAN mirrors is currently denied. Is there a simple way to do this? Thank you for your time.

    Read the article

  • OPS4j repository alternative

    - by Paul Whelan
    The OPS4J repository is down at present and I am trying to run pax-provision using a profile for spring-dm. My question is how do I tell maven to locate the profile information from a site other than ops4j.org. Is this possible? ideally I would like to cache all the packages from the repo especially the spring-dm details which seem never to be cached and are downloaded all the time making coding on the train and times when the site is down impossible. Thanks Paul

    Read the article

  • .hgignore directory "_notes" throughout repository tree?

    - by Subu
    I want to ignore all directories "_notes" throughout a repository. _notes is generated by dreamweaver and is not part of the project itself, but these directories are scattered throughout the project. Somehow ^_notes$ is not doing the job in .hgignore ... Do I have to direct .hgignore to each and every directory "_notes" or does it do it recursively? I am not quite sure about the man pages

    Read the article

  • git daemon fails to show appeared repository

    - by Zubair
    I set up .git in a directory on my local machine. I then run: mkdir a cd a git init git daemon : then I create another directory b: mkdir b cd b git clone git://127.0.0.1 : and I get the following error: Initialized empty Git repository in /b/127.0.0.1/.git/ fatal: The remote end hung up unexpectedly : Any idea why?

    Read the article

  • How can I email someone a git repository?

    - by Zubair
    I have tried: git archive HEAD --format=zip > archive.zip :and then I email archive.zip and at the other end they unzip archive.zip into a folder. But when they try any git commands they find out that this does not produce a valid git repository

    Read the article

  • Good Git repository viewer for Mac

    - by Sergio Acosta
    Can anyone recommend a good repository viewer for Git, similar to gitk, that works on Mac OS X Leopard? (I'm not saying gitk doesn't work) Of course I would like a native Mac application, but as I haven't found any, what are the best options to gitk? I know about gitview, but I'm looking forward to evaluate as many alternatives as possible. http://sourceforge.net/projects/gitview

    Read the article

  • Eclipse project artefacts in Maven repository

    - by Georgios Gousios
    I want to use some of the libraries produced by the Eclipse project through Maven. I 've had a look at the main Maven repo and while it looks like that there are a few projects already imported, their versions are old and some important ones are missing (e.g. cdt). Is there any Eclipse project official Maven repository? If not, what would be the best option to use current versions of libraries such as the JDT compiler in a maven-enabled project?

    Read the article

  • How to inject "history" into a subversion repository?

    - by Ran Biron
    We're migrating from StarTeam (aka "the horrible") to SubVersion (aka "the alleged great"). We've already migrated the files by doing a "dumb" commit to all files and started working on the SubVersion repository. However, we're still forced to use StarTeam because we lack the per-file history of check-ins. Is it possible to inject that history into SubVersion after the first check-in has been done? If yes - how?

    Read the article

< Previous Page | 59 60 61 62 63 64 65 66 67 68 69 70  | Next Page >