小编lot*_*har的帖子

命名:为什么命名常量在C++/Java中都是大写的?

我知道,对于C++和Java来说,它是一个完善的命名约定,常量应该全部写成大写,并用下划线来分隔单词.像这样(Java示例):

public final static Color BACKGROUND_COLOR = Color.WHITE;
public final static Color TEXT_COLOR = Color.BLACK;
Run Code Online (Sandbox Code Playgroud)

这个命名约定很容易理解和遵循,但我问自己,为什么选择这个命名约定而不是变量的常规命名约定:

public final static Color backgroundColor = COLOR.WHITE;
public final static Color textColor = COLOR.BLACK;
Run Code Online (Sandbox Code Playgroud)

似乎没有必要改变常量的外观.如果我们想为它们分配一个值,编译器将会阻止它.实际上它会产生问题,如果以后将常量变为适当的变量(因为颜色可以配置为例如).

那么将命名常量全部写成大写的最终原因是什么?历史原因?

c++ java naming-conventions

33
推荐指数
9
解决办法
3万
查看次数

C++ STL的二进制数据字符串等价

我正在编写一个C++应用程序,我想知道在内存中存储字节数组的C++传统方法是什么.

是否有类似字符串的东西,除了专门为二进制数据.

现在我使用*unsigned char**数组来存储数据,但更像STL/C++的东西会更好.

c++ string binary stl

28
推荐指数
3
解决办法
2万
查看次数

OOP的重大挑战者

据我所知,OOP是大型项目最常用的范例.我也知道一些较小的大系统子集使用其他范例(例如SQL,它是声明性的),我也意识到在较低的计算级别,OOP并不可行.但在我看来,通常更高级别的解决方案几乎总是以OOP方式组合在一起.

是否有任何情况下真正的非OOP范例实际上是大规模解决方案的更好选择?或者这些日子闻所未闻?

自从我开始学习CS以来,我一直在想这个; 很容易让人觉得OOP是一种永远无法超越的编程必杀技.

oop paradigms

15
推荐指数
2
解决办法
816
查看次数

什么是最好的快速阅读Python书籍?

我正在上一个需要Python的课程.我们下周将在课堂上回顾这门语言,我对新语言进行了快速研究,但我想知道在设置我的IDE,服务器环境的基础知识时,是否有任何非常棒的Python书籍可以抓取以及所有其他带有新编程语言的"陷阱".建议?

python

13
推荐指数
6
解决办法
8万
查看次数

如何检测堆栈溢出点

我的C程序有以下问题:某处是堆栈溢出.尽管编译没有优化和调试符号,程序退出此输出(在Linux上的gdb内部或外部):

程序因信号SIGSEGV,分段故障而终止.该计划已不复存在.

我能够检测到这实际上是堆栈溢出的唯一方法是通过valgrind运行程序.有什么方法可以以某种方式强制操作系统转储调用堆栈跟踪,这将帮助我找到问题?

可悲的是,gdb也不允许我轻松地使用该程序.

c linux stack-overflow callstack gdb

10
推荐指数
2
解决办法
7531
查看次数

有没有小的Unix或BSD发行版?

我想知道是否有任何小型BSD或unix版本.我见过的最小的Linux版本看起来不错,就是partedmagic(约70MB).免费的BSD需要像4张CD,可能更多.

unix linux bsd

10
推荐指数
1
解决办法
8790
查看次数

C或C++新手应该知道哪些库?

我向我的朋友推荐了"数字食谱"一书中的库.然而,似乎他们对他来说太具挑战性了.

我不确定哪些库最适合C/C++中的新手.

C或C++新手应该知道哪些库?

c c++

8
推荐指数
6
解决办法
4023
查看次数

SVN +项目管理+ WIKI + TODO列表

假设我在linux上有网络托管帐户,我希望在其上托管一个带维基的svn服务器,项目管理列表,错误等.

你能推荐我这样的工具(如果可能的话,还有所有这些工具)还是我必须单独存放?

你知道一个关于如何设置这些的教程的良好链接吗?

svn wiki todo

7
推荐指数
2
解决办法
1万
查看次数

键值存储与RDBM与"云"数据库(SDB)的比较

在过去的几年中,我在MySQL空间设计了几个应用程序,然后不断改进性能和可扩展性方面,我感到很自在.我也有一些使用memcached的经验,可以在经常查询的结果集上提供应用程序端加速.最近我将Amazon SDB作为我电子商务实验的主要"数据库".

为了过度简化,我在脑海中使用SDB服务的快速理由是,使用无模式数据库结构可以让我专注于我的项目的逻辑问题,并在我的数据存储中快速累积内容.也就是说,不要担心事先设置和规范产品属性的所有可能排列; 只需开始加载产品,SDB就会记住所有可用的东西.

现在我已经设法完成了项目的前几次迭代,并且我需要为数据设置简单的接口,我正在运行我曾经认为与MySQL合作的问题.例如:在select语句中进行分组并限制语法以查询"items 50到100".我使用SDB的无架构体系结构获得的轻松优势,使用仅超过1800个项目查询/循环结果集而失去了性能.

现在我正在阅读像Tokyo Cabinet这样的项目,这些项目正在扩展内存中键值存储的概念,以极其快的速度提供伪关系功能(14x我在某处阅读).

我的问题:我作为应用程序设计人员/开发人员可以通过哪些基本指导或启发式方法来评估哪个数据库技术最适合我项目的每个阶段.

例如:在原型设计阶段,应用程序的逻辑/技术未知数使数据结构变得流畅:使用SDB.在用户可交付成为优先级的更成熟的阶段,使用传统工具,您不必花时间编写排序,分组或分页逻辑.

非常感谢使用这些工具的实际经验.

谢谢!

沙希布

cloud rdbms in-memory

6
推荐指数
2
解决办法
1742
查看次数

如何应对无能管理

我正在做的一个项目已经完成,所以我已经被我的雇主转移到了一些新的任务上.以前的工作非常敏捷,团队小,程序进展等.

无论如何,我正在进行的新项目 - 我发现自己对如何处理管理感到困惑.他们对面向对象的编程,当前技术或方法没有真正的理解.他们似乎害怕改变,最近我们搬到了最新的JRE

我们做了这些代码审查,我不得不听"灰胡子",说它在ADA中有多好,或者他们过去常常用C做什么.但是当他们尝试编写审查时 - 他们甚至缺乏最基本的理解OOP设计和开发 他们更关注代码的风格; 间距; 方法名称; 等等

其中一位高级人员说我们应该编写自己的记录器而不是使用log4j,因为在很久以前的学术PDF中对log4j进行了一次负面评论.

我该如何处理?我怎么能向他们解释他们的设计是错误的,或者他们真的落后于时代,而不是作为一个混蛋.我在这个组织工作了大约一年 - 所以我不知道我会有多少信誉.

java oop

6
推荐指数
1
解决办法
765
查看次数

标签 统计

c++ ×3

c ×2

java ×2

linux ×2

oop ×2

binary ×1

bsd ×1

callstack ×1

cloud ×1

gdb ×1

in-memory ×1

naming-conventions ×1

paradigms ×1

python ×1

rdbms ×1

stack-overflow ×1

stl ×1

string ×1

svn ×1

todo ×1

unix ×1

wiki ×1