| Conditions | 8 | 
| Paths | 32 | 
| Total Lines | 56 | 
| Code Lines | 44 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 0 | ||
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php  | 
            ||
| 22 | 	public function getDeploymentData(DNDeployment $deployment) { | 
            ||
| 23 | 		if (empty(self::$_cache_current_build[$deployment->EnvironmentID])) { | 
            ||
| 24 | self::$_cache_current_build[$deployment->EnvironmentID] = $deployment->Environment()->CurrentBuild();  | 
            ||
| 25 | }  | 
            ||
| 26 | |||
| 27 | $environment = $deployment->Environment();  | 
            ||
| 28 | $project = $environment->Project();  | 
            ||
| 29 | |||
| 30 | $deployer = $deployment->Deployer();  | 
            ||
| 31 | $deployerData = null;  | 
            ||
| 32 | 		if ($deployer && $deployer->exists()) { | 
            ||
| 33 | $deployerData = $this->getStackMemberData($project, $deployer);  | 
            ||
| 34 | }  | 
            ||
| 35 | $approver = $deployment->Approver();  | 
            ||
| 36 | $approverData = null;  | 
            ||
| 37 | 		if ($approver && $approver->exists()) { | 
            ||
| 38 | $approverData = $this->getStackMemberData($project, $approver);  | 
            ||
| 39 | }  | 
            ||
| 40 | |||
| 41 | // failover for older deployments  | 
            ||
| 42 | $started = $deployment->Created;  | 
            ||
| 43 | 		$startedNice = $deployment->obj('Created')->Nice(); | 
            ||
| 44 | 		if($deployment->DeployStarted) { | 
            ||
| 45 | $started = $deployment->DeployStarted;  | 
            ||
| 46 | 			$startedNice = $deployment->obj('DeployStarted')->Nice(); | 
            ||
| 47 | }  | 
            ||
| 48 | |||
| 49 | $isCurrentBuild = self::$_cache_current_build[$deployment->EnvironmentID]  | 
            ||
| 50 | ? ($deployment->ID === self::$_cache_current_build[$deployment->EnvironmentID]->ID)  | 
            ||
| 51 | : false;  | 
            ||
| 52 | |||
| 53 | return [  | 
            ||
| 54 | 'id' => $deployment->ID,  | 
            ||
| 55 | 'date_created' => $deployment->Created,  | 
            ||
| 56 | 			'date_created_nice' => $deployment->obj('Created')->Nice(), | 
            ||
| 57 | 'date_started' => $started,  | 
            ||
| 58 | 'date_started_nice' => $startedNice,  | 
            ||
| 59 | 'date_requested' => $deployment->DeployRequested,  | 
            ||
| 60 | 			'date_requested_nice' => $deployment->obj('DeployRequested')->Nice(), | 
            ||
| 61 | 'date_updated' => $deployment->LastEdited,  | 
            ||
| 62 | 			'date_updated_nice' => $deployment->obj('LastEdited')->Nice(), | 
            ||
| 63 | 'summary' => $deployment->Summary,  | 
            ||
| 64 | 'branch' => $deployment->Branch,  | 
            ||
| 65 | 'tags' => $deployment->getTags()->toArray(),  | 
            ||
| 66 | 'changes' => $deployment->getDeploymentStrategy()->getChanges(),  | 
            ||
| 67 | 'sha' => $deployment->SHA,  | 
            ||
| 68 | 'short_sha' => substr($deployment->SHA, 0, 7),  | 
            ||
| 69 | 'ref_type' => $deployment->RefType,  | 
            ||
| 70 | 'commit_message' => $deployment->getCommitMessage(),  | 
            ||
| 71 | 'commit_url' => $deployment->getCommitURL(),  | 
            ||
| 72 | 'deployer' => $deployerData,  | 
            ||
| 73 | 'approver' => $approverData,  | 
            ||
| 74 | 'state' => $deployment->State,  | 
            ||
| 75 | 'is_current_build' => $isCurrentBuild  | 
            ||
| 76 | ];  | 
            ||
| 77 | }  | 
            ||
| 78 | |||
| 110 | 
This check marks property names that have not been written in camelCase.
In camelCase names are written without any punctuation, the start of each new word being marked by a capital letter. Thus the name database connection string becomes
databaseConnectionString.