其实我觉得逻辑很简单
本人智商不高,读书也没有很好(老师从来没教过什么),也没有杨过这种遇到大雕和吞蛇胆的经历
所以我确实也确实逻辑不怎么好,做的项目不成功的多是正常的
但我知道1+1=2,也只能选择站在巨人的肩膀上,并且不自傲,要时刻警醒自己
但非得有些人,觉得自己逻辑很好
有些人真的连1+1=2都不知道,还以为自己知道,还自以为自己的是最好的,马云觉得自己最好,乔布斯觉得自己最好,所以有些人也觉得他们自己
这个简称自以为是,所以你的项目做不好还是必然的
其实马云和乔布斯也是自以为是的,我也认为他两是最好的,但是就好像多米诺骨牌,又或者蝴蝶效应
你或者是一个大成功,但一个初始的决定,就注定是一个大笑话
就是:
“如果你不是蠢人,那么你就是蠢人了”
什么?没看懂?
那项目中期没有调整的能力,失败了也不能怪谁了,也不能怪一开始的方向错的,1开始的判断,就好像天气,项目不成功,怪一开始天气不好咯
你的想法是好的,可就是因为你的逻辑不怎么好,结果一层叠一层,还以为自己方向很正确,结果往一个错误的方向走了很远
所以就再看看好的项目的逻辑,并不时调整自己,这个才是更接近好项目的方法
(看下面的代码真的越看越心寒,我的逻辑唯一想不通的是好的项目有个大牛,还是好的项目花了3~4年时间,还是好的项目是开源众人智慧的集合,反正好的出品都在人家的好的项目,希望不要想错。。。。)
下面是 C# , Unity3d, 的一个第三方插件代码,可以说也仅仅是对Unity3d底层框架的一些封装而已,但是人家就是仅仅刚刚好代码就是用的很完美,其中要经过的讨论设计测试联调,以我逻辑还是想不出如何做到的,但就活生生的就在你眼前做到了。。。。。。
private Component FindComponentUnder(LeanFinger finger)
{
var component = default(Component);
switch (SelectUsing)
{
case SelectType.Raycast3D:
{
// Get ray for finger
var ray = finger.GetRay();
// Stores the raycast hit info
var hit = default(RaycastHit);
// Was this finger pressed down on a collider?
if (Physics.Raycast(ray, out hit, float.PositiveInfinity, LayerMask) == true)
{
component = hit.collider;
}
}
break;
case SelectType.Overlap2D:
{
// Find the position under the current finger
var point = finger.GetWorldPosition(1.0f);
// Find the collider at this position
component = Physics2D.OverlapPoint(point, LayerMask);
}
break;
}
return component;
}