{ "id": "91369", "key": "TIMOB-8996", "fields": { "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" }, { "id": "13414", "description": "Sprint 2012-08 Blackberry", "name": "Sprint 2012-08 BB", "archived": true, "released": true, "releaseDate": "2012-07-01" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-06-29T08:33:24.000+0000", "created": "2012-05-04T12:12:27.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "dcampbell", "key": "dcampbell", "displayName": "David Campbell", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-02T21:41:00.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10230", "name": "BlackBerry", "description": "BlackBerry Platform" } ], "description": "See pull request: #18\r\n\r\n\r\n1. void TiUIBase::setTiMappingProperties(const TI_PROPERTY* prop, int propertyCount)\r\nprop should be props since it's a pointer to an array of prop objects\r\n\r\n--\r\n\r\n2. TiUIBase::setParametersFromObject(Local obj)\r\n\r\n Local propValue;\r\n+ Handle propString;\r\n+ TiObject* foundProp;\r\n\r\n3 last lines,\r\nIt's cleaner to declare variables inside the smallest scope they are to be used in and also helps prevent referencing them outside of their scope. In this case the declarations should be inside the for\r\n\r\n--\r\n\r\n3. int NativeContainerObject::initialize()\r\nadd protection agains multiple invocations\r\n\r\n--\r\n\r\n4. if((args.Length()!=2)||(!args[0]->IsString())||(!args[1]->IsFunction()))\r\nThis line is definitely worth a comment. How come args[0] needs to be a string and args[1] needs to be a function? reminds me of perl :S\r\n\r\n--\r\n\r\n5. blackberry/tibb/TiUIObject.cpp\r\n• \r\ncreateXXXX_ methods\r\nout of 14 lines of code in the functions, only 1 really differs. It'd be nice to have a way of abstrating that to remove code duplication which would be a maintenance nightmare as i also forsee many many such functions being created for all the UI controls we need to implement\r\n\r\nSimilarly the associtated classes look very bare and very much alike, is there actual value in having all these look alike classes? Maybe the actual question is can we avoid them?\r\n\r\n--\r\n\r\n6. VALUE_MODIFY TiPropertyMapObject::onValueChange(Handle oldValue, Handle newValue)\r\nthe 3 lines inside the the ifs are the same in all cases, they should be rolled into a helper function.\r\n\r\n--\r\n\r\n7. we should review the logical separation of classes with regards to cascades awareness, separation into folders\r\n\r\n--\r\n\r\n8. review error handling strategy\r\n- run it by appcelerator\r\n\r\n--\r\n\r\n9. class TiEventContainer\r\nplease add spaces around the = sign for consistency with the rest of the code.
The formatter doesn't enforce it here.\r\n\r\nThere is at least another instance of that in TiEvent.h\r\n\r\n--\r\n\r\n10. blackberry/tibb/TiUIBase.h\r\ndescription comment references TiCascadesApp when it should be TiUIBase\r\n\r\n--\r\n\r\n11. embed class TiInternalEventListener inside TiV8EventContainer? To reenforce it's internalness", "attachment": [], "flagged": false, "summary": "BlackBerry: Complete remaining issues from code review", "creator": { "name": "dcampbell", "key": "dcampbell", "displayName": "David Campbell", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "dcampbell", "key": "dcampbell", "displayName": "David Campbell", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "193800", "author": { "name": "jlemieux", "key": "jlemieux", "displayName": "Jean-Philippe Lemieux", "active": true, "timeZone": "America/Montreal" }, "body": "Wasn't it PR #35?", "updateAuthor": { "name": "jlemieux", "key": "jlemieux", "displayName": "Jean-Philippe Lemieux", "active": true, "timeZone": "America/Montreal" }, "created": "2012-05-04T14:24:58.000+0000", "updated": "2012-05-04T14:24:58.000+0000" }, { "id": "196106", "author": { "name": "dcampbell", "key": "dcampbell", "displayName": "David Campbell", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Pull request: https://github.com/Macadamian/titanium_mobile/pull/60", "updateAuthor": { "name": "dcampbell", "key": "dcampbell", "displayName": "David Campbell", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-05-25T10:20:50.000+0000", "updated": "2012-05-25T10:20:50.000+0000" }, { "id": "408553", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as Blackberry is no longer supported.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-02T21:41:00.000+0000", "updated": "2017-03-02T21:41:00.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }