Programming Standards: Difference between revisions

From Seedbury Square
Line 58: Line 58:
Every PHP function:  
Every PHP function:  


<pre>
<nowiki>
<?php
<?php


Line 111: Line 111:
}
}


</pre>
</nowiki>

Revision as of 19:21, 31 March 2025

Naming Convention

Constants

ROW_VALUE_DESCRIPTION_COLUMN_NAME_TABLE_NAME

CFI

  • ObjectType
- DESCRIPTION_EN_OBJECT_TYPE_CODE
  • [Table]Type
DESCRIPTION_EN_[TABLENAME]_TYPE_CODE
i.e (FileType - MotionType - Code MOTION_FILE_TYPE_CODE)

Handling Service Response

Standards how to handle service response. Every main in any app will have algo asi:

 async request(params, { transition = false, showMsg = true, setStatus = undefined, fullResponse = false } = {}) {
        const serverResponse = await httpRequest(params, setStatus, REQUEST_BRIDGE_SERVICE);
        if (!serverResponse?.success) console.error(serverResponse?.errorMsg ?? 'Backend service NULL');
        return serverResponse?.success
            ? Promise.resolve(fullResponse
                ? serverResponse
                : serverResponse.response)
            : Promise.reject(serverResponse);
    }

Por eso in the services should be handled like this:

[service]
    .then((response) => {
        // Handle successful service
    })
    .catch((err) => {
        console.log("Error: ", err);
        // Handle not successful service
    });

Parameters

Javascript

Function, classes and methods...

/**
 * @param {AppProps} parentProps
 * @param {object} settings
 **/
name(parentProps, {} = {}) {

}

Where settings means all other props.

PHP

Every PHP function:

<?php /** * example.php * @author [Developer Name] <developer.name@seedburysquare.com> * @copyright Seedbury Square, LLC. All Rights Reserved. * * @version YYYY-MM-DD Initial Version */ return Closure::fromCallable('example'); function example($params, $dbDriver = null) { try { $validation = validateExampleParams($params); if (!$validation['success']) return $validation; $commit = !$dbDriver; $dbDriver = $dbDriver ?? new DatabaseDriver([DATABASE_CONNECTION_CONSTANT], false); if ($commit) $dbDriver->commit(); $response = []; return uniformReturnObject( $response['success'], $response['success'] ? $response['result'] : null, $response['success'] ? false : $response['errorMsg'], $response['success'] ? false : $response['errorMsg'] ); } catch (\Throwable $e) { error_log($e); return <a href="https://wiki.seedburysquare.com/index.php/Helpers">uniformReturnObject</a>(false, null, $e->getMessage(), $e->getMessage()); } }; function validateExampleParams($params) { $errors = []; if (!isset($params['sessionDetails'])) $errors[] = '<li>sessionDetails is not set</li>'; $mandatory = []; foreach ($mandatory as $prop) { if (!isset($params[$prop])) { $errors[] = "<li>Missing: $prop</li>"; } } $success = empty($errors); $errorMsg = 'example<br>Errors: <br><ol>' . implode('', $errors) . '</ol>'; return uniformReturnObject( $success, null, $success ? null : $errorMsg, $success ? null : $errorMsg ); }